2 ответа

  • 3
    replicant 26 августа 2019 23:17 # Решение

    Если характеристик, для которых надо вывести иконки, немного (например, 5-10, а не десятки или сотни), то можно внедрить это в шаблоне напрямую (пример из product.html немного измененной темы Дефолт 3)

    Для двух хар-к (например id 16 и 17)
    {if $features[$f_code].id == 17 || $features[$f_code].id == 16}
        <img src="/img/features/{$features[$f_code].id}.png">{$features[$f_code].name|escape}
    {else}
        {$features[$f_code].name|escape}
    {/if}
    
    Для всех
    <img src="/img/features/{$features[$f_code].id}.png">{$features[$f_code].name|escape}

    В первом случае создаю картинки для определенных хар-к и загружаю их на сервер в какую-нибудь папку типа /img/features или через файл менеджер в папку с темой. Файлы должны иметь имя такое же как id характеристики, чтобы было проще.

    Результат будет такой


    Во втором случае одной строкой заставляю систему выводить изображения рядом с названиями хар-к для всех хар-к подряд, но надо будет создавать изображения тоже для всех без исключения (хотя бы прозрачные заглушки), потому что, если картинок не будет для каких-то хар-к, то результат будет такой




    В некотором виде данная задача решаема даже без плагина, если не побоитесь залезть в шаблон. Красота и внешний вид наводится в CSS есс-но + можно использовать даже спрайты или font-awesome, но это уже дело личное.
    • +1
      P.Pavel P.Pavel 26 августа 2019 23:19 #

      Гениально ! Благодарю.

    • +1
      P.Pavel P.Pavel 26 августа 2019 23:29 #

      Не удалось внедрить, попросту ломает шаблон. 

      PS. Как узнать ID характеристики ?

      • +2
        replicant replicant 27 августа 2019 12:37 #

        Внедряется, на мой взгляд, очень легко, но крайне необходим определенный опыт работы с шаблонами, понимание структуры своей темы дизайна и знания HTML + CSS. Возможно, придется точечно менять верстку, чтобы "втиснуть" изображения на места и не поломать вид сайта.

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

        Начало блока характеристик
        {if $product.features}
                <h3>Характеристики:</h3>
                    <div class="features" id="product-features">
                        {foreach $product.features as $f_code => $f_value}
        ... и далее по тексту идет код вывода изображения, названия и значения хар-к
        
        в конкретной теме дизайна блок характеристик может выглядеть немного иначе, но смысл его все равно остается 

        ID характеристики узнается элементарно и способов узнать его много. Самый простой через Настройки - Типы и хар-ки товаров, наводим курсор на серую шестеренку или кнопку удаления интересующей хар-ки. При этом ссылка в строке статуса в браузере будет выглядеть как /shop/?action=settings#/features/feature/edit/31/ собственно 31 на конце адреса и есть ID.

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите