• MODX
  • AJAX

Как сделать AJAX подгрузку контента для сайта на MODX?

Приветствую!

Подскажите, как реализовать такой же как здесь на сайте механизм подгрузки статей. То есть добавление на страницу контента при нажатии на кнопку «Загрузить ещё»?

Ответы: 7

Аноним
Аноним

Вы хотите узнать, как это реализовать на PHP или на какой-нибудь CMS?

Аноним
Аноним

Интересна реализация на MODX.

Аноним
Аноним

В MODX это очень просто осуществить с помощью сниппета pdoPage из пакета pdoTools. С его помощью можно представить результат (если количество строк в нём больше минимального) в виде страничной пагинации или с подгрузкой посредством AJAX.

Вот пример, как можно организовать подгрузку контента (всех тикетов) с помощи кнопки «Загрузить ещё»:
<div id="pdopage">
  [[!+page.nav]]
  <div class="rows">
    [[!pdoPage?
      &element=`getTickets`
      &action=`tickets`
      &tpl=`tpl.Tickets.list.row`
      &parents=`0`
      &limit=`5`
      &maxLimit=`5`
      &ajaxMode=`button`
      &nestedChunkPrefix=`tickets_`
      &ajaxTplMore=`@INLINE <button class="btn btn-default btn-more">Загрузить ещё</button>`
    ]]
  </div>
</div>
Аноним
Аноним
Благодарю за оперативный ответ и помощь. Создаю портфолио дизайн-работ и такая реализация очень поможет.
Спасибо, всех благ!
P.S.
Неплохой тутор получился бы в коллекцию уроков Вашего сайта.
Аноним
Аноним

Что-то не получается... Вообще ни чего не выводится:

<section class="s-yslygi inverse yslygi ha-waypoint" id="s-yslygi" data-animate-down="ha-header-show" data-animate-up="ha-header-hide" style="background-image: url(assets/app/img/fon_yslyg.jpg);">
  <div class="wrapp">
    <div class="container">
      <div class="row">
        <div class="col-md-12">
          <h2>Проводимая терапия</h2>
        </div>
      </div> 
      <div class="row"> 
        <div class="col-md-12">
          <ul class="ajax-container">
            [[!pdoPage?
              &element=`getTickets`
              &action=`tickets`
              &nestedChunkPrefix=`tickets_`
              &parents=`20`
              &depth=`0`
              &tpl=`ysItem`
              &includeTVs=`image, opisanie_v, cenays, scidca`
	      &processTVs=`image, opisanie_v, cenays, scidca`
	      &limit=`6`
              &ajaxMode=`button`
              &ajaxTplMore=`@INLINE <button class="btn btn-default btn-more">Загрузить ещё</button>`
	    ]]  
          </ul>		
        </div>
      </div>
      <div class="row">
        <div class="col-md-12">
          <div class="welcome-boton">
	    [[!+page.nav]]		
          </div>	
        </div>
      </div>		
    </div>
  </div>
</section>
Аноним
Аноним

Добрый день, Александр. Браузер пишет в консоли:

You must load jQuery for using ajax mode in pdoPage.

Получается pdoPage через ajax работает только через jQuery? Не хочу его только для этого устанавливать. Есть вариант использования без этой библиотеки?

Аноним
Аноним
Добрый день! Да, там всё написано с использованием jQuery. Можно реализовать всё самостоятельно, без pdoPage и без jQuery. Написать свой сниппет и свой клиентский скрипт на чистом JavaScript.