Пагинация при обновлении через Jquery.Ajax

Добрый день.
Уважаемые опытные коллеги, нужна Ваша помощь.
На сайте выводятся ресурсы через pdoPage.
В самом простом случае вот так
<div id="result">
       
[[!pdoPage?
&parents=`[[*id]]`
  &sortby=`Data.price`
    &sortdir=`desc`
    &element=`msProducts`
    &limit=`1`
    
]]
[[!+page.nav]]  
    </div>
Выборка того что вывести происходит через передачу данных через Jquery.ajax в снипет, где происходит обработка.
// обработка ссылок если они служат для аякс загрузки
	$('.ajax_link').click(function() {
		
	var action = $(this).data('action');
	var id_resource = $(this).data('id');
	alert('Action '+action);	
	$.post(document.location.href, {action: action, id_resource: id_resource}, function(data) {
		
		$('#result').html(data);
	})
	
	return false;
  })
На странице вставлен снипет, вот его фрагмент
//******************************************************************************
		case 'show_price_down': // показ товаров по цене от большей к меньшей
		    $params['element'] = 'msProducts';
		    $params['parents'] = $id;
		    $params['sortby'] = 'Data.price';
		    $params['sortdir'] = 'DESC';
		    $params['limit'] = 1;
            
		$res = $modx->runSnippet('pdoPage', $params);
	
		if ($res=='') {$res="Ничего не найдено";}
		    
		break;

Тоесть если мы в атрибуте ссылки передали значение show_price_down то по указанным в массиве параметрам запускаем сниппет pdoPage и получаем результат его работы в переменную res, затем заменяем содержимое div#result этим содержимым.
Все работает чудесно, но не могу придумать как быть с пагинацией.
Если вызывать плейсхолдер [[!+page.nav]] вне div#result то данные обновятся а пагинация нет. Тоесть если количество элементов уменьшится при отборе, количество страниц в пагинации останется как и было.
Логично что если внести пагинацию внутрь div#result то она просто исчезнет при первой же отработке ajax поскольку ее нет в переменной res.

Очень буду признателен за совет, как в таком случае получить динамически изменяющуюся пагинацию.
Спасибо!
Александр Мельник
08 июня 2017, 07:52
modx.pro
737
0

Комментарии: 2

Александр Мельник
08 июня 2017, 11:50
0
Для себя я эту задачу решил, но настолько «некрасиво», что пока и не буду говорить как)
Может доработаю и напишу.
    Александр Мельник
    08 июня 2017, 14:22
    0
    Поспешил я с позитивными выводами) так что все еще буду рад любым мыслям и идеям.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    2