Skip to content
PageBuilder
PageBuilder
Визуальный конструктор секций для MODX 3: черновик и публикация без перезаписи content ресурса
  • MODX 3
  • PHP 8.2
  • Vue 3
  1. Компоненты
  2. PageBuilder
  3. Вывод на сайте
  4. Сниппеты
  5. PageBuilderSitemap

Сниппет PageBuilderSitemap

Формирует XML sitemap для ресурсов MODX, у которых в pb_pages есть опубликованный snapshot (published_revision > 0).

Назначение

Отдельный URL sitemap для лендингов и страниц, собранных в PageBuilder, без ручного списка ID.

Где вызывать

  • Отдельный ресурс с типом содержимого или шаблоном под XML.
  • URL ресурса добавьте в robots.txt.

Ресурс MODX должен быть опубликован и не удалён. Контекст фильтруется параметром context.

Параметры

ПараметрПо умолчаниюОписание
contextпустоКлюч контекста MODX. Пусто = все контексты
priority0.5Значение <priority>
changefreqweeklyЗначение <changefreq>

Вызов

modx
[[!PageBuilderSitemap]]

[[!PageBuilderSitemap?
  &context=`web`
  &priority=`0.8`
  &changefreq=`daily`
]]
fenom
{'!PageBuilderSitemap' | snippet}

{'!PageBuilderSitemap' | snippet : [
  'context' => 'web',
  'priority' => '0.8',
  'changefreq' => 'daily'
]}

Формат ответа

Каждый URL содержит:

  • <loc> — полный URL ресурса (makeUrl, режим full)
  • <lastmod>editedon ресурса. Если поле пустое, берётся publishedon. Если и он пустой, время запроса. xPDO отдаёт дату и числом, и строкой. Сниппет приводит оба вида к unix-времени и пишет ISO 8601
  • <changefreq> и <priority> — из параметров сниппета

Если подходящих страниц нет, вернётся пустой sitemap.

Content-Type

Задайте application/xml на уровне ресурса, шаблона или правила веб-сервера. Сниппет отдаёт только тело XML.

См. также