====== Модификации товара выбираемые на этапе заказа (с влиянием на цену) ====== Возможны случаи когда один и тот же товар в каталоге может иметь разные цены в зависимости от его дополнительного свойства, например размера, цвета и т.п. Есть два пути реализации каталога подобных товаров. - добавление всех таких товаров в каталог отдельными позициями. - добавление одной записи товара и настройка модификаторов цен. ===== Использование модификаторов цен. ===== Сначала нужно включить их использование в настройках раздела магазина на закладке "Настройки" -> "Опции". ==== Управление ==== После включения, в формах добавления и редактирования товара появится ссылка для вызова специального окна. {{ :modules:shoplite:modprices1.jpg }} Для примера, в качестве товаров рассмотрим матрасы разных размеров. {{ :modules:shoplite:modprices2.jpg }} Модификатор цены так же станет доступен и в настройках импорта/экспорта. ==== Интеграция в шаблоны ==== Следует так же дополнить шаблоны страниц магазина для использования модификаторов. === Cтраница категории ([раздел]_category.tpl) === {section name=i loop=$items} ... {* Фрагмент с выбором размера и кнопкой добавления в корзину. *}
{if $items[i].mprices} {* Если заданы размеры, то даем выбрать. *} {else} {* Если нет, показываем обычную цену. *} Цена: {$items[i].price} {$valute} {/if}
... {/section}
{{ :modules:shoplite:modprices3.jpg }} === Детальная страница товара ([раздел]_page.tpl) === ... {* Фрагмент с выбором размера и кнопкой добавления в корзину. *}
{if $item.mprices} {* Если заданы размеры, то даем выбрать. *} {else} {* Если нет, показываем обычную цену. *} Цена: {$item.price} {$valute} {/if}
...
=== Cтраница корзины ([раздел]_basket.tpl) === ... {section name=i loop=$basket} {/section}
Наименование модели Размер Кол-во Цена Удалить
{$basket[i].data.name} {if $basket[i].data.mprice_options} {* Если заданы размеры, то даем выбрать. *} {else}   {/if} {$basket[i].sum} {$valute} Удалить
...
{{ :modules:shoplite:modprices4.jpg }} === Cтраница заказа ([раздел]_order.tpl) === ... Информация о Вашем заказе:
{section name=i loop=$basket} {$basket[i].data.name} / {$basket[i].data.mprice} - {$basket[i].count} шт. {$basket[i].sum} {$valute}
{/section} Общая сумма заказа: {$all.sum} {$valute}

Вернуться в корзину
...
Аналогичным образом дополняется шаблон письма заказа.