Вывод характеристики в alt изображения Есть решение

Есть вот такой кусок кода,выводящий нужную характеристику

{if $product.features}{foreach $product.features as $f_code => $tsvet}{if !in_array($f_code, ['tsvet'])}{continue}{/if}{if $features[$f_code].type == 'divider'} class="divider"{/if}{if is_array($tsvet)}{if $features[$f_code].type == 'color'}{implode('<br /> ', $tsvet)}{else}{implode(', ', $tsvet)}{/if}{else}{$tsvet}{/if}{/foreach}{/if}

И есть код выводящий изображение

{$wa->shop->productImgHtml($product, '750', [ 'itemprop' => 'image', 'id' => 'product-image', 'alt' =>$product.name|escape ])}

Мне нужно переменную $tsvet добавить в Alt изображения к $product.name, как ни крутил,ничего не выводит (( посоветуйте конструкцию верную,уже 2-й день бьюсь

3 ответа

  • 1
    Саша Петров 6 апреля 2016 09:15 # Решение

    помогло вот это решение

    вывел массив

    {capture name=features} <!-- product features --> {if $product.features} <table class="features" id="product-features"> {foreach $product.features as $f_code => $f_value} {capture name=feature} <tr{if $features[$f_code].type == 'divider'} class="divider"{/if}> <td class="name"> {$features[$f_code].name|escape} </td> <td class="value" itemprop="{$f_code|escape}"> {capture name="value"} {if is_array($f_value)} {if $features[$f_code].type == 'color'} {implode('<br /> ', $f_value)} {else} {implode(', ', $f_value)} {/if} {else} {$f_value} {/if} {/capture} {$smarty.capture.value} </td> </tr> {/capture} {if $f_code == 'tsvet'} {$special_feature = ['name' => $features[$f_code].name|escape, 'value' => $smarty.capture.value]} {else} {$smarty.capture.feature} {/if} {/foreach} </table> {/if} {/capture}

    и затем вывел картинку


    {$wa->shop->productImgHtml($product, '750', [ 'itemprop' => 'image', 'id' => 'product-image', 'alt' =>$product.name|cat:$special_feature.value|escape ])}

    может кому пригодится,всем спасибо кто наводил на мысли,все таки решилась проблема )

  • 2
    Алексей Webasyst 29 марта 2016 10:46 #

    {$wa->shop->productImgHtml($product, '750', [ 'itemprop' => 'image', 'id' => 'product-image', 'alt' =>$product.name|escape|cat:$tsvet ])}

    • +1
      Саша Петров Саша Петров 30 марта 2016 04:57 #

      выдает array значение,т.е. не берет данные,пробовал условие до,а картинку после,пробовал вместо каждого if

      {if $product.features}{foreach $product.features as $f_code => $tsvet}{if !in_array($f_code, ['tsvet'])}{continue}{/if}{if $features[$f_code].type == 'divider'} class="divider"{/if}{if is_array($tsvet)}{if $features[$f_code].type == 'color'} {$wa->shop->productImgHtml($product, '750', [ 'itemprop' => 'image', 'id' => 'product-image', 'alt' =>$product.name|escape|cat:$tsvet ])}{else} {$wa->shop->productImgHtml($product, '750', [ 'itemprop' => 'image', 'id' => 'product-image', 'alt' =>$product.name|escape|cat:$tsvet ])}{/if}{else} {$wa->shop->productImgHtml($product, '750', [ 'itemprop' => 'image', 'id' => 'product-image', 'alt' =>$product.name|escape|cat:$tsvet ])}{/if}{/foreach}{/if}

      все равно array ((

  • 2
    Евгений Дубровин 29 марта 2016 17:22 #

    $product.features['tsvet'] - вывод значения характеристики tsvet, по идее, но могу и ошибаться, что это в альт надо засунуть.

    • +1
      Саша Петров Саша Петров 30 марта 2016 04:59 #

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

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

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