Характеристика в любом месте шаблона

1.Можно ли, сделать так, что бы характеристика(и) товара, а точнее ее значение, название, и тип товара, выводилась в любом месте шаблона (шапка, подвал, информационные страницы, и т.д.) за пределами цикла 

{foreach $products as $p}...{/foreach}

Немного фантазии...

$name = type(id)->features(id)->value(id), или
$name = type(id)->features(id), или
$name = type(id)

Я так понимаю, что надо писать хелпер? Нагрузка на сайт?

2. Есть шаблон, где товары в таблице

    {foreach $products as $p}
    <tr>
        <td><a href="{$p.frontend_url}" title="{$p.name}">{$p.name}</a></td>
        <td>?</td>
        <td>?</td>
        <td>{if $p.max_price > $p.min_price}от {$p.min_price}{else}{$p.price}{/if}</td>
        <td>Кол-во</td>
        <td>Итого</td>
        <td></td>
    </tr>
    {/foreach}

где знак - ?, нужно вывести значение характеристик, перерыл весь форум и ответа не нашел.

Плагин видел, но может свое решение? Хелпер?

2 ответа

  • 1
    Николай Webasyst 25 сентября 2018 17:24 #

    Если проблема до сих пор не решена, вы можете разместить описание своего задания в разделе «Поиск проектов и экспертов». Вам также может быть полезна документация разработчика Webasyst. Для получения расширенной платной помощи воспользуйтесь услугами наших партнёров.

  • 2
    replicant 25 сентября 2018 18:20 #

    Надеюсь, что понял второй вопрос правильно и по-моему ответ на него есть в шаблоне Default 3, где сначала идет

    {$features = $wa->shop->features($products)}

    А уже внутри {foreach $products as $p} ... {/foreach} выводим характеристики.

            {if !empty($p.features)}
            <table class="features">
                {foreach $p.features as $f_code => $f_value}
                <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}">
                    {if is_array($f_value)}
                        {if $features[$f_code].type == 'color'}
                            {implode('<br /> ', $f_value)}
                        {else}
                            {implode(', ', $f_value)}
                        {/if}
                    {else}
                        {$f_value}
                    {/if}
                </td>
                </tr>
                {/foreach}
            </table>
            {/if}
    

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

    Это сделано в list-thumbs.html, но там было неудобно и перетащил к себе этот код в табличный шаблон. Выглядит на сайте вот так.

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

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