zadachi_dlya_programmistov_drupal

advertisement
Требуемые изменения в текущем сайте (по шагам).
Оглавление
Текущая модель каталога и покупки. ............................................................................................................ 1
Общие положения и термины .................................................................................................................... 1
Каталог .......................................................................................................................................................... 1
Текущая модель покупки. ........................................................................................................................... 2
Дополнения к каталогу.................................................................................................................................... 3
Понятие базы товара. .................................................................................................................................. 3
Связь варианта колеровки и базы. ............................................................................................................. 3
Карточка товара. Новая модель. ................................................................................................................ 4
Карточка выбора цвета. Новая модель. .................................................................................................... 5
Карточка выбора количества. Новая модель. ........................................................................................... 5
Карточка заказа. «Корзина с покупками». Новая модель. ...................................................................... 8
Текущая модель каталога и покупки.
Общие положения и термины
Компания торгует банками с краской (не колерованный товар, база материала) и
инструментами по их нанесению (различные шпатели, валики и т.п.)
Дополнительно возможны услуги по придания выбранному товару различных оттенков цвета с
помощью добавления специальных красителей (колеровка, колерованный товар).
Каталог
Есть каталог товаров. У каждого товара есть уникальный артикул. Доступ к товару через дерево
каталога.
К товару относится ряд доп.характеристик (описания, изображение,видео, ссылка на
руководство пользователя, расход на м3, отнесение к группам лессирующих, финишных и т.п.).
Доступ через карточку товара. Список артикулов, наименований, структура дерева приходит из 1С в
виде dbf файлов. Доп. характеристики вводятся на сайте через cms.
1
Пример товара: «Декори Классичи», артикул 673.
Существует база упаковок (расфасовок). Содержит сведения о том, какие виды упаковок есть у
данного товара. Например: банка 25кг и банка 15кг. Связь с товаром по артикулу. Данные приходят
из 1С в виде dbf файлов.
Если в базе упаковок нет ссылки на товар, значит у товара нет варианта упаковок. Например,
инструменты: «Валик для нанесения краски».
Существует база со стоимостью товара. Стоимость товара может относиться или к товару
целиком (если нет вариантов упаковки) или к конкретному варианту упаковки. При определении
цены, сначала ищутся варианты упаковок и цена выводится для конкретного варианта или (если не
найдено упаковок) цена берется из карточки товара. Данные приходят из 1С в виде dbf файлов.
Есть база колеровок. Колеровка- это набор картинок с номером колеровки, относящихся к
конкретному товару. Связь по артикулу. Колеровка загружается на сайт и привязывается к
конкретному товару на сайте через cms.
Например, цвет 067 и 0789 для Декори Классичи., артикул 673.
Текущая модель покупки.
Пользователь заходит в меню «Каталог».
Выбирает конкретную карточку товара.
Выводятся тех. описания, ссылки на доп.файлы, видео и т.п.
Если есть варианты упаковок, выводятся все варианты упаковок со стоимостью, если вариантов
упаковки нет выводится только стоимость и поле для указания количества.
Выводится галерия картинок- варианты колеровок. Пользователь может указать конкретяный
вариант колеровки.
Доступно поле для ввода количества товара (может определяться через модуль калькулятора,
в данном ТЗ не рассматривается) и кнопка «Купить». Количество доступно для всех вариантов
упаковки.
По кнопке «Купить» пользователь сообщает системе, какой товар (артикул), какую упаковку в
каком количестве и какую конкретную колеровку (номер) он выбрал.
Т.е. и карточка товара и окно заказа позиции товара объединены в один блок. Отсутствует
«корзина»- место, где можно просмотреть все выбранные товары для заказа.
2
Дополнения к каталогу.
Понятие базы товара.
Один и тот же товар (с одинаковым набором характеристик, описаний и т.п.) может быть
представлен в разных базах. База- это основной цвет товара, который может продаваться как сам по
себе (неколерованный товар, база), так и с последующей колеровкой.
База характеризуется названием (прозрачная, белая, золотистая и т.п.). Разные базы одного и
того же товара могут иметь различную стоимость и варианты упаковки.
База связана с конкретным товаром по артикулу. У самой базы также есть артикул (значение в
поле title).
База является разновидностью колеровки.
Например: база «Прозрачная» материала Декори Классичи 25 кг цена 100уе, база «Золотистая»
материала Декори Классичи 25 кг цена 130уе.
Требуемая доработка
В карточку колеровки в режиме редактирования требуется добавить:
1.
Флаг «база материала»
2.
В поле «Артикул/код» сейчас выводится код 1С, требуется выводить сначала артикул
(товара), потом через символ «/» код 1С.
3.
Таблицу из 2-х колонок «Упаковка» и «Цена». В таблицу автоматически должны
выводиться варианты упаковки и стоимость из базы упаковок для данного значения «title» базы.
Таблица должна выводиться только если установлен флаг «База материала». Таблица должна
автоматически переформировываться при изменении значения «title» базы. Таблица выводится
справочно, без возможности редактирования полей.
Связь варианта колеровки и базы.
Существует таблица соответствия варианта колеровки и той базы из которой получается
данный вариант колеровки.
Таблица существует в виде файла Excel , с колонками «вариант колеровки», «номер базы».
Требуемая доработка
4.
Создать на сайте таблицу связи варианта колеровки и базы. Два поля:
a.
Номер варианта колеровки (текстовое поле длиной 50 символов)
b.
Номер базы (текстовое поле длиной 50 символов)
5.
Загрузить один раз в таблицу на сайте данные из Excel файла
3
6.
Создать интерфейс для просмотра и редактирования этой базы. Доступ для роли
cat_editor и для админстраторов сайта. Пункт меню «Связь варианта колеровки и базы» под пунктом
меню «Колеровка» в блоке «Управление контентом»
Карточка товара. Новая модель.
При выборе товара из дерева каталога, пользователь попадает в окно «карточка товара».
Карточка товара содержит только наименование, тех.описание и строчку-ссылку «Показать
полные характеристики».
Если для данного товара доступны варианты колеровки и есть хоть одна без флага «база
материала», выводится кнопка «Подобрать цвет». По нажатию на эту кнопку пользователь попадает
в отдельную страничку «Подобрать цвет» (см. далее).
Если для данного товара существуют варианты колеровки и есть хоть одна с флагом «база
материала», выводится кнопка «Выбрать базу». По нажатию на кнопку «Выбрать базу» клиент
попадает в страничку «выбор количества товара» (см. далее).
Если для данного товара вариантов колеровки нет, выводится кнопка «Выбрать количество».
По нажатию на кнопку «Выбрать количество» клиент попадает в страничку «выбор количества
товара» (см. далее).
Выводится (всегда) кнопка «Вернуться в каталог». По нажатия на эту кнопку, пользователь
возвращается в дерево каталога.
Ниже расположен блок «Полные характеристики». По-умолчанию он «свернут» в строчкуссылку «Показать полные характеристики». По нажатию, открывает (как и сейчас) те характеристики,
которые заполнены (методы нанесения, ссылки на инструкции, видео и т.п.)
Последним блоком идет таблица «Рекомендованный грунт, подложка, лессирующее
покрытие».
Требуемая доработка
7.
Изменить дизайн карточки товара:
a.
блок наименование рус/англ, артикул, описание
b.
блок кнопок (см.далее)
c.
блок с остальными характеристиками
d.
блок рекомендованных грунта, подложки, лессирующего покрытия
e.
Убрать вывод в карточке товара вариантов колеровки, кнопку «Купить», цену, таблицу
вариантов упаковок
8.
Добавить кнопку «Подобрать цвет». Кнопка выводится только если для данного
товара доступны варианты колеровки и есть хоть одна колеровка без флага «база материала».
4
9.
Добавить кнопку «Выбрать базу». Кнопка выводится только если для данного товара
доступны варианты колеровки и есть хоть одна колеровка с флагом «база материала».
10.
Добавить кнопку «Выбрать количество». Кнопка выводится только если для данного
товара нет вариантов колеровки.
11.
Добавить кнопку «Вернуться в каталог». По нажатию на эту кнопку, пользователь
возвращается в дерево каталога.
12.
Добавить вывод блока с заголовком «Рекомендованный грунт, подложка,
лессирующее покрытие». Состоит из 3-х частей: «Грунт» и список грунтов, «Подложка» и список
подложек и «Лессирующее покрытие» и список покрытий. Значения заполняются по тому же
алгоритму, как и сейчас на сайте по отметке флага «Подобрать грунт, подложек, покрытие».
Выведенные названия должны представлять из себя ссылки, по которым пользователь попадает в
соответствующие карточки материалов.
Карточка выбора цвета. Новая модель.
Карточка выбора цвета представляет из себя существующий блок «Колеровка» в карточке
товара, вынесенный в отдельную страницу.
Выводится фраза «Цвета ориентировочные, точный вариант см. в бумажных каталогах».
Вначале выводятся варианты колеровки с флагом «База материала». Остальные сортируются
по названию цвета. При клике на картинку-миниатюру открывается окно просмотра.
Одну из картинок можно выбрать. По-умолчанию, выбрана 1 по-порядку картинка.
Ниже содержаться кнопки «Выбрать количество» и «Вернуться в карточку товара».
По нажатию на кнопку «Выбрать количество» клиент попадает в страничку «выбор количества
товара» (см. далее).
По нажатию на кнопку «Вернуться в карточку товара» клиент возвращается в карточку товара.
Требуемая доработка
13.
Создать отдельную страницу «Выбор цвета» с выбором колеровки (перенести из
карточки товара)
14.
При открытии на просмотр картинки, добавить кнопки «след. картинка»,
«пред.картинка», чтобы можно было сразу просматривать картинки соседних вариантов колеровок.
15.
Добавить кнопку «Выбрать количество».
16.
Добавить кнопку «Вернуться в карточку товара». По нажатию на эту кнопку,
пользователь возвращается в карточку товара.
Карточка выбора количества. Новая модель.
5
Карточка выбора количества представляет из себя таблицу с колонками:
 Артикул
 Наименование
 Количество
 Цена
 Стоимость
 Литров (скрытое от пользователя поле)
 Расход
 Площадь покрытия
Над таблицей расположено поле ввода «Площадь покрытия в м2» и кнопка «Рассчитать
количество».
Под таблицей три кнопки «Добавить в корзину», «Отмена».
Требуемая доработка
17.
Создать отдельную страницу «Выбор количества»
18.
(см. далее).
19.
Добавить поле ввода «Площадь покрытия в м2» и кнопку «Рассчитать количество»
Создать алгоритм вывода таблицы:
a. Артикул(ы) состоят из 2-х частей артикул товара и артикул базы. Артикула базы может
не быть. Формируются по след. алгоритму:
i. Если в карточку «пришли» из карточки товара по нажатию на кнопку «Выбрать
количество». Просто артикул товара. Артикул базы пустой.
ii. Если в карточку «пришли» из карточки выбора цвета (вариант колеровки).
1. Если в выбранном варианте колеровки не установлен флаг «База
материала». Определяется артикул базы. Автоматически по таблице
связи варианта колеровки и базы (см. выше). Артикул базы=title базы
варианта колеровки. Артикул товара определяется по тому, к чему
привязан данный вариант колеровки.
2. Если в выбранном варианте колеровки установлен флаг «База
материала». Артикул базы=title базы варианта колеровки. Артикул
товара определяется по тому, к чему привязан данный вариант
колеровки.
3. Если в карточку «пришли» из карточки товара по нажатию на кнопку
«Выбрать базу». Формируется список всех вариантов колеровки для
6
данного товара с флагом «База материала». Артикулы базы=title базы
варианта колеровки. Артикулы товара определяется по тому, из какой
карточки товара пришли.
b. Артикул выводится в таблицу в виде строки «Артикул товара» + «/» + «Артикул базы».
Если артикул базы пустой, то часть «/» + «Артикул базы» не выводится.
c. Количество строк определяется вариантами упаковок и стоимость для полученного
артикула(ов). Варианты упаковок и стоимость ищутся по ключу «Артикул товара» + «/»
+ «Артикул базы». Если артикул базы пустой, то ищется только по артикулу товара.
d. Поле «Колеровка». Скрытое от пользователя поле, выводится только
администратору. Поле запоняется, если пришли из карточки «выбор цвета» и
выбранный вариант колеровки не содержит флаг «База материала». Заполняется
значением «цвет» из карточки варианта колеровки.
e. Наименование. Заполняется по правилу: «наименование товара, наименование базы,
вариант упаковки». Варианта упаковки или наименования базы может не быть.
f. Количество (шт). Поле для ввода пользователем количества. Может быть только
целым числом. Может быть нулем.
g. Цена. Заполняется автоматически из базы варианта упаковок или из карточки товара.
h. Стоимость. Рассчитывается автоматически как цена*количество. Пересчитывается
автоматически при изменении количества.
i.
Литры. Скрытое от пользователя поле, выводится только администратору. Содержит
количество литров в данном варианте упаковки. Если учет материала ведется в кг –
производится перерасчет кг в литры (25 кг=15л).
j.
Расход. Содержит расход литров на м2 из карточки товара
k. Площадь покрытия. Выводится справочно. Рассчитывается автоматически как
количество*кол-во литров в данной фасовке*расход литров на м2 (из карточки
товара)
Добавлять/удалять строки нельзя. Редактировать можно только поле «Количество».
20.
Алгоритм автоматического добавления услуг по колеровке. Для каждой позиции с
заполненным полем «Колеровка» автоматически добавляется строка, заполненная по след.
правилам:
a. Артикул. Формируется как «К» (русское) + «Артикул базы».
b. Наименование. Формируется как «Услуга по колеровки базы » + «наименование
базы» + «артикул базы» + « в цвет» + «Колеровка»
c. Количество. Заполняется автоматически по формуле «Количество*Литры».
Пересчитывается автоматически при изменении количества в соответствующей
строки товара, который колеруется.
7
d. Цена. Заполняется автоматически из базы стоимостей по артикулу услуге колеровки
(«К» (русское) + «Артикул базы»)
e. Стоимость. Рассчитывается автоматически как цена*количество. Пересчитывается
автоматически при изменении количества
f. Поля «Литры», «Расход», «Площадь покрытия» - всегда пустые.
Добавлять/удалять эти строки пользователю нельзя.
21.
Кнопка «Рассчитать количество». По нажатию на кнопку «Рассчитать количество»
автоматически вычисляется необходимое кол-во данной фасовки на основании площади и расхода с
учетом ранее введенных данных. Кнопка доступна только если в поле «Площадь покрытия» введено
какое-то кол-во. Кнопка автоматически перезаполняет «количество» в строках таблицы.
22.
В последней строчке таблицы выводится «Итого» для колонок «Количество»,
«Сумма», «Площадь покрытия». Для строк с автосформированной услугой по колеровке количество
в ИТОГО не рассчитывается. Т.е.считаются только штуки заказанного товара.
23.
Кнопка «Добавить в корзину» должна перенести в заказ «корзину» позиции с
ненулевой стоимостью и перейти к окну «Корзина»
24.
Кнопка «Отмена» должна вернуть в окно из которого мы пришли
Карточка заказа. «Корзина с покупками». Новая модель.
Требуется создать новую страничку «Мой заказ. «Корзина»
Карточка содержит таблицу с колонками:
 Артикул
 Наименование
 Количество
 Цена
 Стоимость
 Удалить позицию (кнопка)
В которой содержатся не нулевые по стоимости строки из окна карточек выбора количества.
И две кнопки «Продолжить подбор» и «Оформить заказ».
Требуемая доработка
25. Создать страничку «Мой заказ. «Корзина»
8
26. Разместить пиктограмму «Корзина/Покупательская тележка» в правом верхнем углу с
вызовом данной странички
27. Написать алгоритм кнопки «Удалить позицию». По нажатию на кнопку должна удаляться
позиция заказа. Если удаляется услуга по колеровке или позиция, по которой была
автоматически создана услуга по колеровке, удаляться должны обе строки. И самого товара,
который колеруется и услуги по колеровки этого товара.
28. В последней строчке таблицы выводится «Итого» для колонок «Количество» и «Сумма» . Для
строк с автосформированной услугой по колеровке количество в ИТОГО не рассчитывается.
Т.е.считаются только штуки заказанного товара.
29. По кнопке «Продолжить подбор» пользователь переходит в каталог
30. По кнопке «Оформить заказ» пользователь переходит на существующую страничку
оформления заказа
9
Download