Jump to main content Jump to doc navigation

Что такое ресурс?

Ресурс — это страница или другой элемент, которым управляет MODX. Встроенных типов четыре: документы, веб-ссылки, символические ссылки и статические ресурсы. Пользовательские классы ресурсов добавляют новые типы.

У каждого ресурса есть ID. Используйте ID в тегах ссылок, чтобы MODX сам строил URL: псевдонимы и типы содержимого могут меняться, а ссылки останутся рабочими.

Управление ресурсами

Ресурсы видны в дереве ресурсов слева. Нажмите на ресурс, чтобы открыть его, или щёлкните правой кнопкой и выберите Редактировать. Откроется страница редактирования:

Содержимое редактируется в основном поле, остальные поля — на вкладках.

Вкладка «Группы ресурсов» и чекбокс Access

Вкладка Группы ресурсов показывает все группы ресурсов сайта. Колонка Access (Доступ) означает членство, а не выдачу ACL.

  • Отметьте Access и сохраните: ресурс войдёт в группу.
  • Снимите Access и сохраните: ресурс выйдет из группы.

Страница остаётся публичной, пока группа не связана с группой пользователей и ACL. См. Группы ресурсов.

У нового ресурса под родителем, который уже входит в группы, эти чекбоксы отмечены. Для просмотра и изменения нужна привилегия resourcegroup_resource_edit.

Поля ресурса

В таблицах перечислены поля страницы редактирования. id наследуется, остальные поля — колонки modx_site_content.

Поля содержимого

Имя Описание
id ID ресурса.
pagetitle Заголовок ресурса.
longtitle Длинный заголовок ресурса.
description Расширенное описание ресурса.
introtext Вводный фрагмент, он же Summary. Полезен для блогов и поиска.
alias Псевдоним URL для дружественных URL. Ресурс с псевдонимом home и HTML-типом содержимого отдаётся как home.html, если это не контейнер.
alias_visible Показывать ли псевдоним в URI дочерних ресурсов, когда включены пути по псевдонимам.
parent ID родительского ресурса.
type Устаревшая метка типа, document или reference. MODX выбирает поведение по class_key, а не по этому полю.
class_key Полное имя класса ресурса. Для документа это MODX\Revolution\modDocument. См. Пользовательские классы ресурсов.
context_key Ключ контекста, к которому относится ресурс; обычно web.
template Шаблон ресурса.
content_type ID типа содержимого. Задаёт MIME-тип и расширение файла.
content Содержимое ресурса. Его смысл зависит от типа; см. таблицу ниже.
richtext Использует ли ресурс визуальный редактор, если он установлен.

Содержимое по типу ресурса

Тип Что хранит content
Документ HTML и теги MODX.
Веб-ссылка URL или ID ресурса для перенаправления.
Символическая ссылка ID целевого ресурса.
Статический ресурс Путь к файлу относительно resource_static_path или абсолютный, если это разрешено.

Поля публикации и меню

Имя Описание
published Опубликован ли ресурс и виден ли он на сайте.
pub_date Дата и время, когда ресурс должен опубликоваться.
unpub_date Дата и время, когда ресурс должен сняться с публикации.
isfolder Поле Контейнер. Из-за него дружественный URL заканчивается на /, а не на расширении типа содержимого.
hidemenu Поле Скрыть из меню. Большинство меню и навигационных сниппетов пропускают ресурс.
menutitle Заголовок, который показывается в меню.
menuindex Порядок в меню. Большее значение — позже.
link_attributes Атрибуты, которые сниппеты меню добавляют к ссылкам. Можно использовать иначе.
searchable Участвует ли ресурс в поиске.
cacheable Кешируется ли вывод ресурса.

Системные поля

Имя Описание
createdby ID пользователя, создавшего ресурс.
createdon Дата создания ресурса.
editedby ID последнего пользователя, редактировавшего ресурс.
editedon Дата последнего редактирования.
publishedby ID пользователя, который последним опубликовал ресурс.
publishedon Дата публикации.
deleted Удалён ли ресурс.
deletedby ID пользователя, удалившего ресурс.
deletedon Дата удаления.
content_dispo 0 — отдавать бинарный файл в браузере, 1 — как вложение.
uri Построенный URI. Замораживается через uri_override.
uri_override Сохранить текущий URI и не перестраивать его.
show_in_tree Показывать ресурс в дереве менеджера.
hide_children_in_tree Скрыть дочерние ресурсы в дереве менеджера.
properties JSON-объект свойств с пространствами имён. Веб-ссылки хранят здесь responseCode.

Использование полей ресурса

Поля доступны в шаблонах и содержимом через синтаксис переменных шаблона:

[[*pagetitle]]
[[*id]]
[[*createdby]]

Они выводят заголовок страницы, ID ресурса и ID создавшего пользователя.

Фильтры вывода изменяют значение:

[[*introtext:ellipsis=`100`]]
[[*editedby:userinfo=`username`]]
[[*publishedby:userinfo=`email`]]

Первый пример ограничивает introtext сотней символов и добавляет многоточие. Остальные возвращают имя и email пользователей, которые редактировали и публиковали ресурс.

Доступ к полям из сниппета

Сниппет получает текущий ресурс как $modx->resource. Этот пример возвращает перевёрнутый заголовок страницы:

$output = $modx->resource->get('pagetitle');
return strrev($output);

Ссылки на ресурсы

Теги ссылок строят URL ресурсов:

[[~123]]

123 — ID ресурса. MODX строит URL во время запроса.

См. также именованный якорь.

Параметры URL в тегах ссылок

Параметры добавляются в тег ссылки через обратные кавычки:

[[~42? &tag=`Snacks` &sort=`Taste`]]

Если ресурс 42 отдаётся по адресу store/items.html, тег выведет:

store/items.html?tag=Snacks&sort=Taste

Схемы URL в тегах ссылок

Схема задаётся свойством scheme:

[[~123? &scheme=`https`]]

Доступные схемы:

Имя Описание
-1 (по умолчанию) URL относительно site_url
0 Принудительно http, если текущий запрос идёт по https
1 Принудительно https, если текущий запрос идёт по http
full Абсолютный URL с site_url
abs Абсолютный URL с base_url
http Абсолютный URL со схемой http
https Абсолютный URL со схемой https

Смотрите также

  1. Типы содержимого
  2. Пользовательские классы ресурсов
  3. Именованный якорь
  4. Статический ресурс
  5. Символическая ссылка
    1. Использование символических ссылок
  6. Веб-ссылка
  7. Группы ресурсов

Support the team building MODX with a monthly donation.

The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.

Backers

  • modmore
  • STERC
  • Digital Penguin
  • Jens Wittmann – Gestaltung & Entwicklung
  • CrewMark
  • Fabian Christen
  • Sepia River Studios
  • Dannevang Digital
  • Alex
  • A. Moreno
  • Chris Fickling
  • Stéphane Jäggi
  • Murray Wood
  • Anton Tarasov
  • JT Skaggs
  • deJaya
  • Lefthandmedia
  • eydolan
  • Following Sea
  • Guido Gallenkamp
  • YJ
  • Raffy
  • Snow Creative
  • Nick Clark
  • Guest
  • Helen
  • krisznet
  • Yanni
  • Richard

Budget

$194 per month—let's make that $500!

Learn more