Выглядит так
Изменения в 2х файлах, /core/includes/category.php и category.tpl.html в папке текущего шаблона.
1. /core/includes/category.php
находим строку
function _getUrlToNavigate( $categoryID )
перед ней вставляем
//-- change products per page number START --//
if (isset($_POST["change_perpage"])) $_SESSION['CUSTOM_PERPAGE'] = $_POST["change_perpage"];
function settingSELECT_PERPAGE()
{
$res = "";
if ( isset($_SESSION["CUSTOM_PERPAGE"])){
$selectedPP = $_SESSION["CUSTOM_PERPAGE"];
}else{
$selectedPP = _getSettingOptionValue("CONF_PRODUCTS_PER_PAGE");
}
define('CONF_CUSTOM_PER_PAGE', $selectedPP);
$pplist = array(5, 10, 20, 50); // в массиве перечисляем список из вариантов выбора
for ($i = 0; $i < count($pplist); $i++) {
if ($pplist[$i] != "") {
$res .= "<option value='".$pplist[$i]."' ";
if ($pplist[$i] == $selectedPP) $res .= "selected";
$res .= ">".$pplist[$i]."</option>";
}
}
return $res;
}
$varioperpage = settingSELECT_PERPAGE();
$smarty->assign("varioperpage",$varioperpage );
//-- change products per page number END --//
array(5, 10, 20, 50) - варианты выбора меняем на свои произвольные, желательно чтобы один из них совпадал со значением поля "Максимальное количество товаров на странице" из общих настроек в админке, он будет выбран по умолчанию.
в этом же файле ниже в двух местах меняем
CONF_PRODUCTS_PER_PAGEна
CONF_CUSTOM_PER_PAGE
2. category.tpl.html
в нужном месте (зависит от структуры и дизайна конкретного шаблона) вставляем
<form action="" method="post" name="perpageform" id="perpageform"> <select name="change_perpage" onchange="document.getElementById('perpageform').submit(); return false">{$varioperpage}</select> </form>
Все. Проверяем, отписываемся.
Спасибы говорим "спонсору проекта" redali