Оглавление

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

Ресурс — это представление страницы в MODx. По умолчанию в MODx присутствует 4 типа ресурсов — документы, ссылки, символические ссылки и файлы. Тип ресурса по умолчанию — документ. Он просто представляет веб-страницу на вашем сайте.

Каждый ресурс также имеет уникальный идентификатор, или «идентификатор ресурса». Это позволяет MODx знать, какой ресурс выбрать при загрузке веб-страницы. Так же идентификаторы нужны для работы с ресурсами (например выборка по ID). Кроме того, если вы захотите связать ресурсы, то для решения этой задачи можно использовать их идентификаторы. Таким образом, MODx создаст ссылку на ваш ресурс, и вам не придется беспокоиться если изменится псевдоним, тип контента или что-либо еще — MODx применит все изменения самостоятельно.

Есть бесплатный пакет — autoRedirector, он самостоятельно отслеживает изменения в адресах страниц и делает редиректы на новые.

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

Ресурсы отображаются в дереве ресурсов в левом навигационном меню менеджера. Для редактирования, просто нажмите на страницу, которую вы хотите отредактировать. Вы также можете нажать правой кнопкой мыши на ресурс и выбрать «Редактировать». Это загрузит страницу редактирования ресурса:

Страница редактирования ресурса

Содержимое ресурса можно редактировать в большом поле (Содержимое) в нижней области. Другие поля, связанные с ресурсом, также можно редактировать с помощью вкладок в верхней части страницы.

Поля ресурсов

По умолчанию у ресурсов есть список предопределенных полей. Вот они:

Название Описание
id Идентификатор ресурса.
template Идентификатор шаблона, который использует этот ресурс.
published Ресурс опубликован или доступен для просмотра на front-end.
pagetitle Заголовок ресурса.
longtitle Длинный заголовок ресурса.
description Описание ресурса.
introtext Вводная выдержка из содержания ресурса. Полезно для блогов или поиска.
alias Псевдоним URL. Применяется если ваш сайт использует дружественные URL. Ресурс с псевдонимом «home» и типом содержимого «html» будет отображать на выходе «home.html», если он не является контейнером.
parent Идентификатор ресурса-родителя.
link_attributes Используется в сниппетах построения меню для добавления атрибутов к ссылкам. Может быть использован и для других нужд.
menutitle Краткое отображение заголовка ресурса в меню.
menuindex Индекс ресурса в древовидном меню. Более высокое значение означает более низкое положение ресурса в меню.
hidemenu «Скрыть из меню», если установлен, то ресурс не будет отображаться в большинстве сниппетов формирования меню.
content Контент ресурса. Зачастую главное рабочее поле.

Настройки ресурсов

У каждого ресурса есть свои предопределенный настройки:

Название Описание
isfolder Отмечает ресурс как «Контейнер».
searchable Делает ресурс доступным для поиска.
cacheable Если отмечено, ресурс будет сохранен в кэш после первого обращения к нему.
createdby Идентификатор пользователя который создал ресурс.
editedby Идентификатор пользователя который изменил ресурс.
deleted Помечает ресурс как удаленный.
deletedby Идентификатор пользователя который удалил ресурс.
publishedby Идентификатор последнего пользователя опубликовавшего ресурс.
createdon Дата создания ресурса.
publishedon Дата публикации ресурса.
editedon Дата редактирования ресурса.
pub_date Запланированная дата публикации ресурса.
unpub_date Запланированная дата когда ресурс будет снят с публикации.

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

Данные полей ресурса можно получить используя следующий синтаксис:

[[*pagetitle]] // Отображает заголовок ресурса.
[[*id]] // Отображает идентификатор ресурса.
[[*createdby]] //Отображает идентификатор пользователя который создал ресурс.

К ним также могут быть применены модификаторы:

[[*introtext:ellipsis=`100`]] // Отображает данные поля introtext, обрезает значение на сотом символе.
[[*editedby:userinfo=`username`]] // Отображает имя пользователя, который последний раз изменял ресурс
[[*publishedby:userinfo=`email`]] // Отображает почту пользователя, который опубликовал ресурс

Доступ к полям ресурсов в сниппетах

Получить значение полей ресурсов в сниппете довольно легко. MODx предоставляет вам объект Resource, в любом сниппете с помощью ссылки на $modx->resource вы можете получить значение любого поля ресурса. Этот пример сниппета вернет заголовок текущей страницы:

<?php
/* Отображает заголовок текущего ресурса */
$output = $modx->resource->get('pagetitle');
return $output;

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

В MODx ссылки на ресурсы динамически управляются через «теги ссылок». Они выглядят так:

[[~123]]

где «123» — это идентификатор ресурса, на который нужно ссылаться. Вы можете разместить эти теги в любом месте, и MODx будет динамически формировать URL для указанного ресурса.

Вы также можете получить тег ссылки, перетащив ресурс из древовидного меню слева, в область редактирования контента.