Битрикс — ajax навигация в catalog.section

04.10.2017  13:11

В Битриксе в современных шаблонах есть аяксовая подгрузка «на лету», но дизайнер пидорас как всегда нарисовал хуйню мы не ищем лёгких путей.

Итак, для примера возьмём шаблон catalog.section и в самом низу добавим кнопочку «показать ещё»:
<?
if ($arResult['NAV_RESULT']->NavPageCount > $arResult['NAV_RESULT']->NavPageNomer){
$next_page = $arResult['NAV_RESULT']->NavPageNomer + 1;
?>





затем накидаем яваскрипт и вставим его в этот же шаблон:
function showMore (lnk) {
	var page = $(lnk).data('page');
	var section = $(lnk).data('section');
	var sort = $(lnk).data('sort');
	var order = $(lnk).data('order');
	var link = '/ajax/cat.php';
	$.post(link, { PAGEN_1: page, act: 'show_more', section: section, 
		sort: sort, 
		order: order, 
		arrFilter_P1_MIN: '<?=$_REQUEST["arrFilter_P1_MIN"];?>', 
		arrFilter_P1_MAX: '<?=$_REQUEST["arrFilter_P1_MAX"];?>', 
		set_filter: 'Y' 

	}, function(data) {
		$('#showMore').remove();
		$("#cat_result_tmp").append(data);
	});
	return false;
}


а затем в директории /ajax/ положим файлик cat.php и подключенным прологом и этим же компонентом. Всё!

В сумасшедшем Битриксе может не срабатывать фильтрация (если используется умный фильтр, например), тогда в ентом умном, сука, фильтре необходимо включить настройку:
"SAVE_IN_SESSION" => "Y",

Всё!


перейти в Блог | Блог (стр. 2)

Ударим лайками по бездорожью, разгильдяйству и бюрократизму!


Ключевые слова (тэги): 1С-Битрикс 18  JavaScript 17  web-программирование 41  

Вам есть что сказать — ну я же чую.
Высказаться о наболевшем, я выслушаю:
Имя


email (не публикуется)