Выводит все артикулы вместо одного

{foreach $wa->shop->products() as $p}
{$product = $wa->shop->product($p)}
{$sku = $product.skus[$product.sku_id]}
{if $sku.sku}
<span style="font-size: 10px; color: #c1c1c1;" id="blacktext" style="">Арт.</span><span class="articlstyle" type="submit">{$sku.sku|escape}</span>
{/if}
{/foreach}

В общем-то, проблема в названии темы

9 ответов

  • 1
    Михаил Ушенин 26 марта 2014 09:03 #
    Смутно догадываюсь, чего вы пытаетесь добиться, но точно не уверен. Расскажите на всякий случай.
  • 0
    Websiter 26 марта 2014 09:08 #
    пытаюсь вывести артикул для одного товара, а выводятся все артикулы сразу
    • 0
      Михаил Ушенин Михаил Ушенин 26 марта 2014 09:15 #
      Но вы ведь используете цикл, значит, отобразятся основные артикулы всех товаров, по которым вы проходите в цикле. Вам нужен артикул какого-то конкретного товара? Тогда примерно так (без цикла!):

      {$product = $wa->shop->product(123)} {* укажите здесь id нужного товара *}
      {$sku = $product.skus[$product.sku_id]}
      {if $sku.sku}
      <span style="font-size: 10px; color: #c1c1c1;" id="blacktext" style="">Арт.</span><span class="articlstyle" type="submit">{$sku.sku|escape}</span>
      {/if}

      Или уточните задачу, если я неправильно понял.
      • 0
        Websiter Websiter 26 марта 2014 09:27 #
        Этот код пытаюсь вставить в list-table.html, чтобы пользователь видел артикул товара, т.е. id должен выставляться автоматически
  • 0
    Websiter 26 марта 2014 09:28 #
    извиняюсь, в cart.html
  • 0
    Websiter 26 марта 2014 09:33 #
    не удается отобразить артикул отдельному товару в корзине.
    Выводятся все артикулы в цикле, как вы сказали, вот ссылка:

    http://s31-temporary-files.radikal.ru/4ca4b57747bf4d08937468f1bfc87a29/-88693455.png

    А по идее, должен отобразиться только артикул данного товара(товар находится в корзине, т.е. это может быть абсолютно любой товар)
    • 0
      Михаил Ушенин Михаил Ушенин 26 марта 2014 10:06 #
      Подобный код нужно выполнять внутри цикла {foreach $cart.items as $item}...{/foreach}. Примерно так (не проверял):

      {$product = $wa->shop->product($item.product_id)}
      {$sku = $product.skus[$product.sku_id]}
      {if $sku.sku}
      <span style="font-size: 10px; color: #c1c1c1;" id="blacktext" style="">Арт.</span><span class="articlstyle" type="submit">{$sku.sku|escape}</span>
      {/if}

      Сюда применим тот же комментарий по поводу вызова $wa->shop->product(), что и к теме http://www.webasyst.ru/help/1253/kak-otobrazit-kharakteristiki-tovara-pri-prosmotre-kategoriy/
      • 0
        Websiter Websiter 26 марта 2014 15:02 #
        Огромное спасибо, все заработало!
      • 0
        koozoo koozoo 21 мая 2014 17:02 #
        Вторая строчка вашего кода должна быть не
        {$sku = $product.skus[$product.sku_id]}
        а
        {$sku = $product.skus[$item.sku_id]}

        в противном случае выдаётся не выбранный артикул, а артикул продукта по умолчанию.

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

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