Смена количества товаров на странице (пример Default 2.0)
Пример реализации в Default 2.0
числа ['1','2','3','4'] замените на свои, пример ['8','16','32','64','128']
В list-thumbs.html
{$lazy = $wa->cookie("lazyppp",false)}
{$ppp = $wa->cookie('products_per_page')}
{$page_counts = ['1','2','3','4']}
Выводить по:
<select id="ppp">
{foreach $page_counts as $page_count}
<option value="{$page_count}"{if $page_count == $ppp} selected{/if}>{$page_count}</option>
{/foreach}
<option value="lazy"{if $lazy || empty($ppp)} selected{/if}>Все</option>
</select>
в строчке
<div class="block {if $theme_settings.pagination == 'lazyloading'}lazyloading-paging{else}paging-nav{/if}" data-times="2" data-link-text="[`Load more`]" data-loading-str="[`Loading...`]">
заменяем на
<div class="block {if $theme_settings.pagination == 'lazyloading' && $lazy}lazyloading-paging{else}paging-nav{/if}" data-times="2" data-link-text="[`Load more`]" data-loading-str="[`Loading...`]">
в default.shop.js после $(document).ready(function () {
$('#ppp').change(function(){
if($(this).val()!='lazy'){
$.cookie('products_per_page', $(this).val(), { expires: 30, path: '/'});
$.cookie('lazyppp', '', { expires: 0, path: '/'});
} else {
$.cookie('products_per_page', '', { expires: 0, path: '/'});
$.cookie('lazyppp', '1', { expires: 30, path: '/'});
}
document.location = location.href;
});
2 ответа
Добавлю лишь, что для корректной работы крайне желательно в списке вариантов(['1','2','3','4']) иметь число "30". Так как это кол-во товаров на странице по умолчанию. И нельзя ставить выше 499(поправьте, если это ограничение уже убрали). Чтобы просто изменить кол-во товара, отображаемое по умолчанию, нужно в файле .../wa-apps/shop/lib/config/config.php найти строку с "orders_per_page" и у элемента "table" выставить нужное значение.
Как заменить "Все" по умолчанию на количество товара например 4?