Динамическая подгрузка каталога товаров


Добрый день всем! Есть такой вопрос, как можно осуществить динамическую подгрузку контента? Например, вызывается сниппет msProducts в котором загружается например элементов 10, внизу должно сработать событие по скроллеру или по кнопке подгрузить еще 10 элементов. То что это с использованием скрипта на ajax будет понятно. Волнует другое как в запросе избежать прямого обращения к базе данных?

Например, идет вызов внешнего файла:

$.ajax({
             url: 'load.php',
             method: 'GET',
             data: {"num" : num},
             beforeSend: function() {
             inProcess = true;
          }
          })
Потом в файле load.php идет обращение к базе данных:

$num = $_GET['num'];
$query = mysql_query("SELECT * FROM `news` ORDER BY `date` DESC LIMIT {$num}, 10");
$news = array();
while ($row = mysql_fetch_array($query)) {
    $news[] = $row;
}
В условиях, что мы работает не с чистым php, а modx, хотел спросить как решаются такие задачи в этой CMS? Спасибо всем за внимание, к моему вопросу.
solar-wind
05 декабря 2014, 09:30
modx.pro
1
2 990
0

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

    solar-wind
    05 декабря 2014, 13:33
    0
    Спасибо больше, хороший пример. Сразу все понятно стало!
    but1head
    05 декабря 2014, 16:40
    0
    <script type="text/javascript">
    $(document).ready(function() {
    	if($('.pagination li').length < 6){$('.load_more').hide();}
    	$('.load_more').click(function(){
    		var data = $(this).data();
    		var pages_count = $('.pagination li').length-5;
    
    		if(pages_count == data.page){
    			$('.load_more').hide()
    		}
    
    		data.page+=1;
    		// dont touch
    		$('#results').append('<div class=loaded'+data.page+'></div>');
    		$('.loaded'+data.page).load('science_and_life/?page='+data.page+' #results');
    	});
    })
    </script>
    
    
    <div id="results">[[!pdoResources? &parents=`[[+id]]` &limit=`5`]]</div>
    [[!+page.nav]]
    <button class="load_more" data-page="1">Показать ещё</button>

    .pagination {display:none;}
    Построено на пагинации стандартной…
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      3