Baza wiedzy LINKSPOT › Wygląd sklepu

Zawężanie filtrów

Wygląd sklepu · Opublikowano 2025-06-23

Wskazówka

Od 1 czerwca 2025 roku zakończyliśmy aktualizację oraz wydawanie nowych wersji szablonów Bursztyn, Agat i Opal, a tym samym ich wsparcie, aby skupić się na nowoczesnych rozwiązaniach, które jeszcze lepiej odpowiadają na potrzeby dynamicznie rozwijającego się rynku e-commerce.

Zachęcamy Was do przejścia na nasze nowe, udoskonalone szablony. Dla sklepów B2C polecamy szablony Topaz, One Page Shop oraz Dla Gastronomii, natomiast dla platform B2B idealnym wyborem będą Rubin i Szafir.

Zawężanie filtrów

W tym artykule dowiesz się jak dodać możliwość zawężanie filtrów w swoim szablonie.

Wskazówka

W tym artykule trzeba będzie wprowadzać zmiany w plikach js i css. Z tego artykułu dowiesz się jak je minifikować

Uwaga

Zapis nazwa_folderu/nazwa_pliku.rozszerzenie oznacza, że aby znaleźć dany plik należy udać się do folderu o nazwie podanej przed ukośnikiem. Przykładowo: order/thx.html oznacza plik thx.html w folderze order

Agat

Pierwszym krokiem jest otwarcie pliku category-page.html. Przy użyciu narzędzia wyszukiwania wyszukaj frazę {% assign long = value.Text | Size %}. Usuń następujący kod, znajdujący się pod wyszukaną linijką:
<li {% if long > 40 -%} class="long" {% endif -%}> <span class="switch-name">{{ value.Text }}</span> <label class="switch"> <input id="flt_{{ value.Field | H }}_{{ value.Value | H }}" class="switch-input" name="{{ value.Field | H }}" type="checkbox" {%if value.Selected%}checked{%endif%} value="{{ value.Value | H }}"/> <span class="switch-label"></span><span class="switch-handle"></span> </label> </li>
Następnie w to samo miejsce wklej kod:
<li {% if long > 36 -%} class="long" {% endif -%}> <span class="switch-name">{{ value.Text }} ({{value.Count}})</span> <label class="switch"> <input id="flt_{{ value.Field | H }}_{{ value.Value | H }}" class="switch-input" name="{{ value.Field | H }}" type="checkbox" {% if value.Selected -%} checked {% endif -%} {% if value.Count == 0 -%} disabled {% endif -%} value="{{ value.Value | H }}"/> <span class="switch-label"></span><span class="switch-handle"></span> </label> </li>
Teraz przejdź do pliku scss/mobile1.scssi wklej na końcu następujący kod:
[disabled] + .switch-label, [disabled] + .switch-label + .switch-handle { opacity: 0.5; cursor: default; }

Bursztyn

Otwórz plik categories.html. Za pomocą narzędzia wyszukiwania znajdź frazę

a następnie usuń następujący kod :
`


W miejsce usuniętego kodu wklej następujący:


Kolejnym krokiem jest otwarcie pliku **scss/main.scss**. Na jego końcu wklej następujący kod:.switch input:disabled {
& + .input-switch, & + .input-switch + label {
opacity: 0.5;
cursor: default;
}
}`

Opal

Otwórz plik categories.html. Za pomocą narzędzia wyszukiwania znajdź frazę

a następnie usuń następujący kod :
`


W miejsce usuniętego kodu wklej następujący:


Kolejnym krokiem jest otwarcie pliku **scss/main.scss**. Na jego końcu wklej następujący kod:.switch input:disabled {
& + .input-switch, & + .input-switch + label{
opacity: 0.5;
cursor: default;
}
}`

Szafir

Otwórz plik product-filters.html. Za pomocą narzędzia wyszukiwania znajdź frazę , a następnie zamień znalezioną linijkę na nastepujacą:
<input name="{{ value.Field | H }}" type="checkbox" {% if value.Selected -%} checked {% endif -%} {% if value.Count == 0 -%} disabled {% endif -%} value="{{ value.Value | H }}" />
Następnie wyszukaj {% if value.Field != colorFilterName -%}, a następnie usuń kod:
{% if value.Field != colorFilterName -%} {% if value.Field == "REWARD" -%} {{ translations.PointsProduct }} {% else -%} {{ value.Text }} {% endif -%} {% endif -%}
W to miejsce wklej następujący kod:
{% if value.Field != colorFilterName -%} {% if value.Field == "REWARD" -%} {{ translations.PointsProduct }} {% else -%} {{ value.Text }} {% endif -%} ({{value.Count}}) {% endif -%}
Kolejnym krokiem jest otwarcie pliku scss/globals/_globals1.scss. Za pomocą narzędzia wyszukiwania znajdź frazę [type=”checkbox”], [type=”radio”] { a następnie bezpośrednio pod nią wklej następujący kod:
&:disabled + .label-ui{ opacity: 0.5; cursor: default; &::before{ cursor: default; } }

Następnie otwórz plik js/init-ui1.js. Za pomocą narzędzia wyszukiwania znajdź frazę for (var i in newFilterValues) i usuń następujący kod:

for (var i in newFilterValues) { var value = newFilterValues[i]; var isChecked = (value.Selected) ? 'checked' : '';

if(value.Field == 'REWARD’){
value.Text = __translations.pointsProduct;
}

var valueItemHtml = '’;

newFiltersContainerHtml.append(valueItemHtml);
}
W miejsce usuniętego kodu należy wkleić następujący:
for (var i in newFilterValues) { var value = newFilterValues[i]; var count = value.Count; var isChecked = (value.Selected) ? 'checked' : ''; var isDisabled = (count == 0) ? 'disabled' : '';

if(value.Field == 'REWARD’){
value.Text = __translations.pointsProduct;
}

var valueItemHtml = '’;

newFiltersContainerHtml.append(valueItemHtml);
}

Topaz

Otwórz plik elements/products-list/products-1.html ( lub elements/products-list/products-2.html w zależności od wybranego modułu). Następnie za pomocą narzędzia wyszukiwania znajdź frazę

  • i usuń następujący kod:

    `

    • {{ filter.Heading }}
    • {% for value in visibleValues -%}
    • {% endfor -%}

    {% if valuesSize > 4 -%}

      {% for value in redundantValues -%}
    • {% endfor -%}

    {{ translations.Com_More }}
    {{ translations.Com_Less }}
    {% endif -%}

  • `

    W to miejsce wklej następujący kod:

    <li class="filter-group-wrapper"> <ul class="filter-group"> <li class="filter-group__title product-list__title">{{ filter.Heading }}</li> {% for value in visibleValues -%} <li class="filter checkBoxes__container"> <input type="checkbox" class="filter-input custom-checkbox" id="flt_{{value.Field}}_{{forloop.index}}" name="{{ value.Field }}" {% if value.Selected -%} checked {% endif -%} {% if value.Count == 0 -%} disabled {% endif -%} value="{{ value.Value }}"/> <label for="flt_{{value.Field}}_{{forloop.index}}"> <span class="checkBoxes__checkIcon"> <svg><use xlink:href="css/img/icons-sprite.svg#check-regular"></use></svg> </span> <span class="filter-label">{{ value.Text }} ({{ value.Count }})</span> </label> </li> {% endfor -%} </ul> {% if valuesSize > 4 -%} <ul class="filter-group filter-group--redundant"> {% for value in redundantValues -%} <li class="filter checkBoxes__container"> <input  type="checkbox" class="filter-input custom-checkbox" id="flt_{{value.Field}}_{{forloop.index | Plus: 4}}" name="{{ value.Field }}" {% if value.Selected -%} checked {% endif -%} {% if value.Count == 0 -%} disabled {% endif -%} value="{{ value.Value }}"/> <label for="flt_{{value.Field}}_{{forloop.index | Plus: 4}}"> <span class="checkBoxes__checkIcon"> <svg><use xlink:href="css/img/icons-sprite.svg#check-regular"></use></svg> </span> <span class="filter-label">{{ value.Text }} ({{ value.Count }})</span> </label> </li> {% endfor -%} </ul> <span class="filter-toggle filter-more">{{ translations.Com_More }}</span> <span class="filter-toggle filter-less">{{ translations.Com_Less }}</span> {% endif -%} </li>

    Następnie otwórz plik scss/elements/products-list/products-1-g.scss ( lub scss/elements/products-list/products-2-g.scss w zależności od wybranego modułu ). Za pomocą narzędzia wyszukiwania znajdź frazę .filter {, a poniżej wklej następujący kod:

    input[disabled]+label { opacity: 0.5; cursor: not-allowed; }

    Czy ten artykuł był pomocny?

    Wyślij opinie

    Inne w kategorii

    Społeczność Comarch

    Dzięki społeczności Comarch ERP rozwiązujemy problemy, dzielimy się pomysłami oraz informujemy o nowościach.

    Dołącz do Społeczności Comarch

    Oferta e-Commerce

    Demo Comarch e-Sklep
    Zamów Comarch e-Sklep
    Cennik Comarch e-Sklep
    Comarch e-Sale
    Comarch B2B
    Czym się różni Comarch
    e-Sklep B2B od Comarch B2B?

    Przydatne linki

    Spis treści
    Stwórz darmowy szablon
    Konfigurator produktu
    Więcej o Comarch ERP
    Pomoc Comarch Betterfly
    Pomoc Comarch ERP Optima
    Pomoc Comarch ERP XL
    Pomoc Comarch ERP Altum
    Oprogramowanie e-commerce
    Sztuczna Inteligencja (AI)

    Kontakt

    Skontaktuj się z nami
    Partnerzy Comarch wdrażający e-Sklep

    + Mam problem z tym tematem Otwórz w portalu bazy wiedzy »