Отображение опций в списке товаров¶
Примечание
Статья не рассчитана на работу с вариациями из модуля “Вариации товаров [Beta]”.
Описание¶
По умолчанию на странице списка товаров скрыто отображение опции товаров. Опции товаров доступны на детальной странице товара.
Вы можете включить отображение опций на странице каталога, если это необходимо.
| Было | Стало |
|---|---|
|
|
Подготовка¶
Вам необходимо:
Откройте файл:
/design/themes/[название_темы]/templates/blocks/product_list_templates/products_without_options.tplДобавьте новый параметр
show_product_options=trueв подключение smarty шаблонаblocks/list_templates/products_list.tplКод:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
{** template-description:tmpl_list_without_options **} {include file="blocks/list_templates/products_list.tpl" show_product_options=true {* ← новый параметр *} show_name=true show_sku=false show_rating=true show_features=true show_prod_descr=true show_old_price=true show_price=true show_clean_price=true show_list_discount=true show_discount_label=true show_product_amount=true show_product_edp=true show_add_to_cart=true show_list_buttons=true show_descr=true but_role="action" separate_buttons=true}
Очистите кэш и проверьте результат на витрине.
Отлично, опции появились в списке товаров. Теперь перенесём изменения в модуль «Мои изменения».
Верните к оригинальному виду файл:
/design/themes/[название_темы]/templates/blocks/product_list_templates/products_without_options.tpl
Внесение изменений с помощью модуля¶
Мы определили файл и необходимые модификации для отображения параметров в списке товаров.
Правильным решением будет — внести данные изменения с помощью модуля.
Нужный нам шаблон не имеет хуков. Однако каждый шаблон сам по себе является хуком, его можно перезаписать с помощью модуля.
Мы будем вносить изменения с помощью модуля «Мои изменения» (my_changes).
Пройдите в папку шаблонов темы:
/design/themes/[название_темы]/templates/Пройдите в папку шаблонов модуля
my_changes:/design/themes/[название_темы]/templates/addons/my_changesПримечание
Если у вас нет данной папки, создайте её
Чтобы перезаписать какой либо шаблон, вы должны создать папку
overridesв папке шаблонов вашего модуля.Создайте и пройдите в неё:
/design/themes/[название_темы]/templates/addons/my_changes/overridesЛюбой файл, который вы разместите в данной папке, перезапишет оригинальный файл. Очень важно сохранить структуру папок:
Было: /design/themes/[название_темы]/templates/blocks/product_list_templates/products_without_options.tplСтало: /design/themes/[название_темы]/templates/addons/my_changes/overrides/blocks/product_list_templates/products_without_options.tplДругими словами, в папке
overridesвашего модуля, вы должны повторить путь к файлу относительно папки шаблонов/design/themes/[название_темы]/templates/.Создаём папку:
/design/themes/[название_темы]/templates/addons/my_changes/overrides/blocks/product_list_templates/Копируем в неё оригинальный файл products_without_options.tpl из папки:
/design/themes/[название_темы]/templates/blocks/product_list_templates/Открываем файл:
/design/themes/[название_темы]/templates/addons/my_changes/overrides/blocks/product_list_templates/products_without_options.tplи вносим в него нужные нам изменения — добавляем параметр:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
{** template-description:tmpl_list_without_options **} {include file="blocks/list_templates/products_list.tpl" show_product_options=true {* ← новый параметр *} show_name=true show_sku=false show_rating=true show_features=true show_prod_descr=true show_old_price=true show_price=true show_clean_price=true show_list_discount=true show_discount_label=true show_product_amount=true show_product_edp=true show_add_to_cart=true show_list_buttons=true show_descr=true but_role="action" separate_buttons=true}
Установите и включите модуль «Мои изменения».
Результат:
Если изменения не появились:
- Очистите кэш, удалив папку
/var/cache/ - Проверьте правильность путей и файлов.
- Очистите кэш, удалив папку
Готово!
Важно
Внесение изменений с помощью модуля позволит:
- Не потерять изменения при обновлении платформы;
- Вы можете в любой момент выключить модуль;