Dodawanie filtra po producencie

W większości naszych szablonu znajduje się już filtrowanie po producencie. Jeśli u siebie nie widzisz tego filtra, to sprawdź w Dostosuj szablon. Być może ta funkcjonalność jest u Ciebie po prostu wyłączona. Jeśli jednak jej nie posiadasz, to poniżej dowiesz się, jak można taki filtr dodać do swojego szablonu.

Jeżeli chcesz przefiltrować swoją kolekcję lub kategorię po produktach konkretnego producenta, możesz to zrobić dodając listę rozwijaną z producentami do swojego szablonu. Aby umieścić taką listę w swoim sklepie należy wykonać kilka prostych kroków:

1. Z panelu administratora przejdź do ustawień szablonu: Wygląd sklepu > Dostosuj szablon

2. Kliknij przycisk Edytor HTML

3. W katalogu Szablony znajdź i kliknij w plik category.tpl. W edytorze po prawej otworzy się kod tej strony.

4. W edytorze znajdź miejsce, w którym chciałbyś, aby lista filtrowania była widoczna na stronie, po czym skopiuj i wklej tam poniższy kod. Napis zaznaczony na czerwono możesz zmienić według swoich potrzeb.

<div id="filters">
<p>Filtruj po producencie:</p>
<select class="filter" data-placeholder="Producent">
<option value="0">WYCZYŚĆ FILTR</option>
{foreach from=$shop->vendors item="vendor" name="foo"}
<option id="vendor-{$vendor->title}" value="?vendor={$vendor->title}" >{$vendor->title}</option>
{/foreach}
</select>
</div>

<script type="text/javascript">
var findActiveFilter = function(activeProp){
$('select.filter').each(function(){
$(this).find('option').each(function(){
var filterVal = $(this).val();
if(activeProp.indexOf(filterVal) != -1){
$(this).attr('selected','selected');
}
})
})
}
var activeProp = window.location.search;
findActiveFilter(activeProp);
var filterList = function($url){
var filters = [];
var filterLink = $url;
$('select.filter').each(function(){
var filtr = $(this).children('option').filter(':selected').val();
if (filtr != 0){
filters.push(filtr)
}
else{
return 0;
}
})
if ( filters.length > 0 ) {
window.location.href = $url + '?' + filters.join('&');
}
else {
window.location.href = $url
}
}
$('select.filter').on('change',function(){
var $host = window.location.protocol+"//"+window.location.host;
var $url = $host + window.location.pathname;
filterList($url);
})
</script>

 

5. Kliknij na dole przycisk Zapisz.

Przykładowy rezultat: