Селектор количества элементов на странице

Home » Bitrix » bitrix рецепты » Селектор количества элементов на странице
bitrix рецепты Комментариев нет
Обработчик, где-нибудь в init.php или в header.php <? // массив возможных вариантов global $perPages; $perPages = array('10', '20', '50'); // если передан GET-параметр if(isset($_GET['perPage'])) { // если допустимое значение if(in_array($_GET['perPage'], $perPages)) { // устанавливаем в сессии значение $_SESSION['perPage'] = $_GET['perPage']; } } Вывод селекта с возможными значениями <div class="catalogPerPageCover"> Показывать на странице товаров: <form method="get" action=""> <select name="perPage"> <?global $perPages;?> <?foreach($perPages as $value) {?> <option value="<?=$value?>" <?if($_SESSION['perPage'] == $value){?>selected="selected"<?}?>><?=$value?></option> <?}?> </select> <?// остальные GET-параметры ?> <?foreach($_GET as $key => $value) {?> <?if(is_array($value)) {?> <?foreach($value as $subKey => $subValue) {?> <input type="hidden" name="<?=$key?>[<?=$subKey?>]" value="<?=$subValue?>" /> <?}?> <?} else {?> <input type="hidden" name="<?=$key?>" value="<?=$value?>" /> <?}?> <?}?> </form> </div> Javascript-код, отправляющий форму селекта $('select[name=perPage]').change(function() { $(this).closest('form').submit(); }); вызов компонента $APPLICATION->IncludeComponent("bitrix:catalog.section", "", array( // ... "PAGE_ELEMENT_COUNT" => (isset($_SESSION['perPage'])) ? $_SESSION['perPage'] : $arParams["PAGE_ELEMENT_COUNT"], // ... ) );