Jump to main content Jump to doc navigation

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

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

Существует 4 типа ресурсов, и они являются документами, Weblinks, Symlinks, и Static Resources.

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

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

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

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

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

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

Общие поля ресурсов

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

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

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

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

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

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

[[~123]]

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

Также см. Именованный Якорь.

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

Добавление параметров URL в тег ссылки довольно просто в Revolution. Допустим, у нас есть идентификатор ресурса 42, который преобразуется в URL-адрес «store/items.html». Мы хотим добавить в тег параметр «tag» со значением «Snacks» и параметром «sort» для «Taste». Вот как вы это сделаете:

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

Это будет отображаться как:

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

Обратите внимание, что это обратные пометки вместо апострофов.

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

Вы можете указать схему для ресурса в вашем теге:

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

Будет отображать URL с использованием «https» вместо схемы, указанной текущими настройками (то есть настройками системы или контекста).

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

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

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

  1. Типы контента
  2. Именный Якорь
  3. Статический Ресурс
  4. Символическая ссылка
    1. Использование ресурсных ссылок
  5. Ссылка на сайт

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
  • Fabian Christen
  • Dannevang Digital
  • Sepia River Studios
  • Chris Fickling
  • CrewMark
  • deJaya
  • Lefthandmedia
  • Murray Wood
  • eydolan
  • Following Sea
  • Anton Tarasov
  • Stéphane Jäggi
  • Raffy
  • Snow Creative
  • A. Moreno
  • Nick Clark
  • JT Skaggs
  • Helen
  • YJ
  • krisznet
  • Richard
  • Yanni

Budget

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

Learn more