Скрытие характеристик в Smart Filters

7 сентября 2014

Нужно изменить цикл вывода значений характеристик
({foreach $filter.values as $v_id => $v})

{foreach $filter.values as $v_id => $v}
  {if ($v@iteration == 2) && !$wa->get($filter.code)}<span style="display:none">{/if}
  
  {if $v@last && ($v@iteration >= 2) && !$wa->get($filter.code)}</span>
  <a class="inline-link" href="#"><b><i>показать все</i></b></a>{/if}
{/foreach}

2 - это количество выводимых значений + 1. Т.е. в примере скрыты будут все, кроме первого значения.

И в javascript добавить обработчик клика:

$('#smartfilter .inline-link').click(function(e){
  $(this).prev().show();
  $(this).remove();
  e.preventDefault();
})

Полный код базовой версии можно скачать по ссылке.

Теги: Smart Filters

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

  • Роман 9 сентября 2014 13:47
    Прикольно получилось, только если развернуть список и выбрать из скрытых характеристик при получении результата этот пункт сворачивается, а по логике такого не должно уже быть..
    • Eugen Nichikov Hardman 9 сентября 2014 14:39
      Тоже не проблема. Добавил проверку && !$wa->get($filter.code)
      Если выбрано любое из значений характеристики (даже не спрятанные), она будет открыта.
  • Роман 9 сентября 2014 14:53
    Огонь)

Написать комментарий