Как В Категории (Списке Товаров) Вывести Значение Характеристики Товара?

Была задача, в списке товаров, под ценой выводить значение характеристики, конкретно "объем" - это количество товара в миллилитрах или килограммах.

Я первый раз столкнулся с cs-cart и сделал просто и очень примитивно.

Конкретно так:

Этот код вставлен в grid_list.tpl (в место после блока где выводится цена товара)

{$my_features=$product|fn_get_product_features_list}
{$volume = ""}
{foreach $my_features as $val}
    {if $val.description == "Объём"}
      {$volume = $val.variant}
    {/if}
{/foreach}
{$volume}
Работает конечно, но прошу знатоков cs-cart подсказать как это сделать правильно???
-Надо ли было править шаблон или можно где-то в настройках указать?
-Как правильно править шаблон? Ведь изменения затрутся при обновлении?
-Код оптимальный? Или надо было как то иначе сделать?
P.S.
Еще вопрос - я прямо в шаблоне отключил вывод звездочек рейтинга. Но там проверка есть
{if $smarty.capture.$rating}, может где-то в настройках задается выводить или нет рейтинг в категории? Где, подскажите плс?
1 лайк

-Как правильно править шаблон? Ведь изменения затрутся при обновлении?

Нужно использовать хуки, если их нет или они вам не подходят, то перезаписывать весь шаблон. Посмотрите документацию.

Если вы сделаете модификацию модулем, то лучше добавить настройку модуля, где можно указать характеристику, которую нужно выводить, чтобы не писать так:

{if $val.description == "Объём"}

Еще вопрос - я прямо в шаблоне отключил вывод звездочек рейтинга. Но там проверка есть

{if $smarty.capture.$rating}, может где-то в настройках задается выводить или нет рейтинг в категории? Где, подскажите плс?

У каждого продукта во вкладке Модули есть секция "Комментарии и отзывы", если вам не нужны звездочки, то выберите вариант Обсуждение в настройке Отзывы. http://joxi.ru/Drlz4GjU1X4G2P