Отображение артикула в каталоге товаров и в поиске Есть решение

У меня в карточке товаров артикул отображается следующим образом:

можно ли сделать так, чтобы этот артикул также отображался в каталоге здесь:

и также в поиске?

2 ответа

  • 2
    Ярослав 25 февраля 2016 00:22 # Решение

    Спасибо, разобрался. Итоговый вариант вывода артикула будет выглядеть так:

    <div class="thumbs-name">
    <h5><a href="{$p.frontend_url}"><span itemprop="name">{$p.name}</span></a></h5>
    {$prd = $wa->shop->product($p.id)}
    <div style="font-size: 12px">{$prd.skus[$p.sku_id].sku}</div>
    </div>

    На данный момент мне функциональность предложенного плагина не нужна, мне нужно пока только исправить косяки на сайте

  • 1

    Ярослав, воспользуйтесь готовым плагином.
    Среди прочего, он может вывести и артикул.

    Без доработок и плагинов сделать можно только используя {$wa->shop->product($p.id)} в цикле шаблона list_thumbs.html, чего лучше не делать из-за увеличения нагрузки на БД.

    • +1
      Ярослав Ярослав 24 февраля 2016 08:05 #

      может мы говорим о разных вещах, но у меня получилось не то, что хотел

      то есть выводится просто id товара

      а мне нужен артикул, который присваивается товару через 1С. Забыл упомянуть, что вывод артикула на карточке товара производится следующим кодом:


      <div class="all_skus">
          {foreach $product.skus as $sku}
              {if $sku.sku}
              <div class="sku sku-{$sku.id}-sku">
                  Артикул: {$sku.sku|escape}
              </div>
              {/if}
          {/foreach}
          </div>

      Возможно ли сделать так, чтобы этот артикул выводился и в списке товаров?

      • +1

        Мы говорим об одном и том же.
        В карточке товара массив $product содержит в себе массив артикулов $product.skus - из которого и дергается id артикула.
        В списке товаров в массиве $products, у продуктов этого подмассива артикулов нет.
        Один из способов, внутри цикла перебора $products - получать объект продукта по его id.
        Типа

        {foreach $products as $p}^M
          {$prd = $wa->shop->product($p.id)}
          sku_id:{$prd.skus[$p.sku_id].id}
          sku_id_1c:{$prd.skus[$p.sku_id].id_1c}
          sku_name:{$prd.skus[$p.sku_id].name}
        <skip>

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

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

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