{РЕШЕНИЕ НАЙДЕНО} Оформление для отдельных опций товара
Добрый день.
Имеем вывод всех опций товара на странице:
Чанк OptionShopTpl:
Пробовал ставить условие так:
Возможно вообще все не то, пытаюсь разобраться). Не бросайте камнями.
Имеем вывод всех опций товара на странице:
[[msProductOptions?
&tpl=`OptionShopTpl`
]]
Чанк OptionShopTpl:
{if $options} {* Проверяем на пустоту *}
{foreach $options as $option} {* Перебираем *}
<div class="row" style="background-color: #f7efef; padding: 3px; margin-bottom: 2px;">
<div class="col-xs-7" style="padding-bottom: 1px; border-right: 1px solid #aaa;">
<strong>{$option.caption}:</strong>
<span></span>
</div> {* Выводим название опции *}
<div class="col-xs-5" style="text-align: center;">
{if $option.value is array} {* Проверяем, если значение опции является массивом *}
{$option.value | join : ', '} {$option.measure_unit} {* то выводим с помощью разделителя *}
{else} {* иначе, т.е. строка, число и другое *}
<b>{$option.value} {$option.measure_unit}</b> {* просто выводим значение и ед. измерения *}
{/if}
</div>
</div>
{/foreach}
{/if}
Задумка такая — если {$option.caption} равен ключу «performance» то мы выводим этот performance со своим стилем, иначе выводим остальные опции. Пробовал ставить условие так:
{if $option.caption == performance }
вывод только performance со своим стилем
{else}
{$option.caption}:
и так:{if $option.caption.perfomence }
вывод только performance со своим стилем
{else}
{$option.caption}:
в итоге вообще ничего не выводит. Возможно вообще все не то, пытаюсь разобраться). Не бросайте камнями.
Комментарии: 5
Решил вопрос, на данный момент так:
{if 'Пропускная способность' in $option.caption}
<i class="fas fa-info-circle"></i>
{else}
{/if}
Т.е. если опция, которую выводим равна «Пропускная способность» то добавляем иконку при выводе названия, у остальных пропускаем.
А если изменится название опции? Тогда у вас не будет работать условие
Логично, спасибо, что поправили…
Тогда
Пробовал, и так
все игнорится и применяются почему то стили вообще для всех.
Тогда
{if '21' in $option.id}
{else}
{/if}
А вот как условие прописать, если для нескольких нужно, пока не разберусь. {if '21' || '17' in $option.id}
Пробовал, и так
{if '21' or '17' in $option.id}
все игнорится и применяются почему то стили вообще для всех.
Разобрался.
{if $option.id in [21, 17]}
Не за что :)
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.