Skip to content
AjaxSnippet
AjaxSnippet
Компонент, для запуска сниппетов через Ajax. Позволяет подгружать блоки новостей или комментариев после загрузки основной страницы
  1. Компоненты
  2. AjaxSnippet

AjaxSnippet

Небольшой сниппет, который позволяет вам ускорить загрузку сайта за счет выноса не особо важных элементов в ajax запросы.

  • Вы вызываете AjaxSnippet на любой странице сайта, с указанием имени нужного сниппета и параметров.
  • Сниппет выдаёт в текущую страницу пустой блок с прелоадером и регистрирует ajax запрос.
  • После загрузки страницы этот запрос уходит на сервер и ответ помещается в приготовленный блок.
  • Можно отправлять запрос сразу после загрузки страницы, или при нажатии ссылки-триггера.

Параметры сниппета

ИмяПо умолчаниюПлейсхолдеры
&snippetpdoResourcesСниппет, который нужно запустить через Ajax.
&propertySetЕсли вы хотите использовать набор параметров сниппета - укажите его имя.
&wrapperЧанк-обёртка. Обязательно должен содержать элемент с id="[[+key]]".
&as_modeonloadКак загружать контент: сразу после загрузки страницы «onload», или при клике на ссылку-триггер «onclick»?
&as_triggerТекст ссылки-триггера для режима «onclick». По умолчанию - запись из словаря «as_trigger».
&as_targetCSS селектор элемента, в который будет загружен ответ от сервера. По умолчанию, ответ будет вставлен на место вывода чанка-обёртки.

Всё, что вы указываете AjaxSnippet, будет передано в вызываемый сниппет. Сниппет можно вызывать кэшированным.

Примеры

Отложенная загрузка ресурсов при помощи pdoResources:

modx
[[AjaxSnippet?
  &snippet=`pdoResources`
  &parents=`0`
  &tpl=`@INLINE <p>[[+id]] - [[+pagetitle]]</p>`
  &as_mode=`onload`
]]

То же самое, но для старта загрузки нужно кликнуть по ссылке:

modx
[[AjaxSnippet?
  &snippet=`pdoResources`
  &parents=`0`
  &tpl=`@INLINE <p>[[+id]] - [[+pagetitle]]</p>`
  &as_mode=`onclick`
  &as_trigger=`Нажми меня!`
]]