Кнопка "показать еще" в фильтрах характеристик товаров

1

Здравствуйте. В стандартной теме дефолт фильтр характеристик товаров при большом количестве характеристик выглядит не совсем приглядно:

Подскажите, пожалуйста, как сделать кнопку "показать еще" в каждом разделе характеристик товара после 7-ой позиции, а остальные скрывались за этой кнопкой?

При этом писалось сколько позиций скрывается за этой кнопкой.

Что то вроде кнопки в бекенде в разделе настройки характеристик товаров:

Очень не красиво выглядит "гармошка"...

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

  • 0

    Это правки верстки темы дизайна.

  • +1
    Денис Денис 28 декабря 2018 13:21 #

    Если по простому то в default.shop.js в :

    $(function() {    
    var showMax = 7, text = ["Скрыть", "Показать еще"];
        $('[data-show-wrapper]').each(function() {
            var li = $(this).find("[data-show-elem]");
            if (li.length > showMax) {
                li = li.slice(showMax).hide();
                var btn = $("<div>", {
                    text: text[1],
                    "class": "btn gray see-more",
                    click: function() {
                        li.stop().slideToggle(500, function() {
                            btn.text(text[+$(this).is(":hidden")])
                        })
                    }
                }).appendTo(this)
            }
        });
    });
    

    В нужном месте проставляете атрибуты дата например для фильтра:

    <div class="filter-param" data-show-wrapper>
    {foreach $filter.values as $v_id => $v}
           <label class="label checkbox-label" data-show-elem>
                     <input type="checkbox" name="{$filter.code}[]" {if in_array($v_id, (array)$wa->get($filter.code, array()))}checked{/if} value="{$v_id}"> {$v}
           </label>
    {/foreach}
    <div>

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

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