Prestashop 1.6: Отображаем теги товара в его карточке

Странная вещь — не в первый раз натыкаюсь на грабли, когда многие очевидные функции приходится самому выпиливать лобзиком. В движке Prestashop реализованы тэги товара, но отобразить их можно либо на главной, либо в макете категории. В карточке товара их нет, как нет и понятной возможности проблему решить. Что ж, не в первый раз.

Решение не моё, взял с какого-то англоязычного форума. Но т.к. на поиски пришлось потратить время, да и не все (к моему удивлению) web-погромисты знают английский, перевожу и выкладываю здесь — вдруг пригодится кому.

Итак. Редактировать будем файл карточки товара. Находится он в themes/название_темы/product.tpl

Открываем, в нужное место вставляем код:

{foreach from=Tag::getProductTags(Tools::getValue('id_product')) key=k item=v}
{foreach from=$v item=value}
<a href="{$link->getPageLink('search', true, NULL, "tag={$value|urlencode}")}">{$value|escape:html:'UTF-8'}</a>
{/foreach}
{/foreach}

Собственно, всё. Код достаёт из переменных шаблона тэги товара и формирует из них ссылку для поиска. Отображение настраиваем сами с помощью CSS. Если есть смысл, можно перед вставкой поместить текстовое обозначение «Теги:» (в этом случае не забудьте сохраниться в UTF-8).
Способ работает на версиях 1.6 (проверено лично) и 1.5

2 thoughts on Prestashop 1.6: Отображаем теги товара в его карточке

  1. Здравствуйте! Подскажите как проверить значение $value? Имею ввиду:
    {if $value=»1″}
    {l s=’1′}
    {else}
    {$value|escape:html:’UTF-8′}
    {/if}

    • Ох, давно это было… Даже нет магазина под рукой чтоб попробовать вспомнить.
      Извините, не подскажу наверное.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

13 − 2 =