Убрать дублирование характеристик

2

Не вижу смысла отображать те характеристики, которые являются выбираемыми. Конечно можно добавить условие в шаблоне, но тут есть ряд недостатков. Часто бывает, что страница совсем иначе выглядит при наличии или отсутствии характеристик. Условием на наличие тут не обойтись. Представьте, что в массике всего 2 характеристики - цвет и размер. И обе выбираемые. То есть условие {if $product.features} вернет true. Но по факту то их не будет, т.к. в цикле другим условием мы их скрываем. Городить огромные условия на десятки строк не есть выход. Выход вижу только один. Либо нужен доступ к unset()(речь про облако), либо по умолчанию не выводить их в этот массив.

2 комментария

  • +1

    Когда они выводятся это очень часто удобно, т.к. сразу видно какие варианты есть.
    Так что не показывать их просто так - вариант плохой. Кому-то надо, кому-то нет. Тех кому надо - больше.
    По поводу unset.
    Аналог unset($data['key']) в Smarty:
    {$_tmp = []}
    {foreach $data as $k => $v}{if $k != 'key'}{$_tmp[$k] = $v}{/if}{/foreach}
    {$data = $_tmp}
    Ну это если он так нужен.

    А еще можно проверить что есть другие характеристики (кроме тех, которые выбираются) так:
    {if $product.features && $product.features_selectable && count($product.features) > count($product.features_selectable)}

  • +1
    deniro deniro 1 мая 2016 08:47 #

    Здравствуйте. В моем случае (ссылка) выбираемые характеристики не выводятся в нижнем блоке в виде списка, а отображается только одна из них. В csv файле записаны в таких скобках <{}>. Подскажите, пожалуйста, что делаю не так?

    Добавить комментарий

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