AjaxSnippet

Скачать AjaxSnippet в магазине дополнений →
21 августа 2017, 18:14

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

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

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

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

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

Примеры

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

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

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

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

На сайте документации через AjaxSnippet загружается история изменения страниц.