Модекс

Что нового в MODX 2.7.1?

Версии Evolution и Revolution получают обновления отдельно. Апдейты для Evo создают участники пользовательского сообщества. Найти их можно на русскоязычном форуме движка. Обновления для Revo выпускают разработчики движка, которые сообщают о релизе в блоге на официальном сайте. 

Последняя версия MODX Revolution — 2.7.1 (14 февраля 2019 года). В этом апдейте много внимания уделено исправлению ошибок, обнаруженных в предыдущих редакциях. Если же говорить о крупных нововведениях, то последним было появление визуального редактора с интерфейсом drag-and-drop, который разработчики назвали Fred. Это произошло также в феврале 2019 года. 

Цель внедрения Fred — сделать создание сайтов более эффективным и увлекательным. Визуальный редактор MODX с точки зрения гибкости и мощности превосходит аналогичные решения на других CMS. Кроме встроенных инструментов кастомизации он предлагает поддержку любых HTML-фреймворков, включая Bootstrap и Foundation. Теперь макеты, в которых ранее приходилось настраивать десятки параметров, могут быть созданы с помощью визуальных средств, понятных на интуитивном уровне.

У макетов, используемых для создания страниц, и элементов интерфейса есть собственные настройки, которые позволяют, например, с помощью ползунка указать, какое количество статей должно отображаться на странице в блоге. Fred также поддерживает плагины для добавления новых возможностей кастомизации. В следующих релизах разработчики обещают сделать создание расширения для визуального редактора более простым, в том числе благодаря подробной документации. 

На Evolution таких больших изменений в функциональности нет, но апдейты тоже выходят достаточно часто. Ветка Evolution CMS 1.4.x получает исправление ошибок и критических проблем с безопасностью, а также доработку совместимости с Evolution CMS 2.x. Это новая версия системы, созданная пользователями на основе оригинального движка, с добавлением компонентов фреймворка Laravel.  

Laravel выбран для интеграции из-за обширной документации, активной поддержки и большого количества готовых пакетов, которые можно будет использовать на Evolution 2.0. При этом старые конструкции продолжат поддерживаться, однако не будут раскрывать весь потенциал новой системы. Ветка 2.x только начинает своё развитие и доступна в альфа-версии.

Деконструкция тега MODX

Тег MODX может быть расширен за счет дополнительных индикаторов и свойств. Приведенная ниже таблица полностью разбирает тег MODX и иллюстрирует, как и где можно использовать эти необязательные индикаторы и свойства.

Тип Использование
Определяет открытие тега MODX.
Необязательный флаг без кэширования
Необязательный Определяет тип элемента. = Чанк, = Поле ресурса / переменная шаблона, = Плейсхолдер Смотрите выше для большего количества вариантов
Имя значения запрашиваемого элемента.
Определяет набор свойств для использования.
Определяет выходной фильтр или модификатор, который будет использоваться.Например:
Указывает MODX, что свойства сопровождают этот вызов.Required if properties present
Определяет свойство и значение, которое будет использоваться с вызовом. Каждый набор свойств разделен .Например:
Определяет закрытие тега MODX.

Получение полей по ID ресурса

Для получения доступа к полям ресурса, необходимо его выбрать по уникальному идентификатору.

$id = 1;
$res = $modx->getObject('modResource', $id);
echo $res->get('pagetitle');

Если код запускается в сниппете при обращении к ресурсу, то можно использовать другой вариант:

$modx->resource->get('pagetitle');
$modx->resource->get('content');
//или
$modx->resource->getContent();

Получение TV-переменных:

//текущего ресурса по id
$modx->resource->getTVValue(3);

//по названию TV-параметра
$modx->resource->getTVValue('img-news');

//получение значения конкретного ресурса
$res = $modx->getObject('modResource',1);
echo $res->getTVValue('img-news');

Сформировать URL по ID:

$url = $modx->makeUrl($id);    

Назначение шаблона

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

После выбора шаблона нажмите Save появится сообщение о том, действительно ли вы хотите изменить шаблон, подтверждаем

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

После сохранение, мы можем просмотреть страницу и увидеть как она теперь выглядит. Вот снимок экрана, на котором видна верхняя часть страницы:

Вот нижняя часть:

Функциональные возможности

MODX — это CMS/CMF. Второе понятие расшифровывается как Content Management Framework и говорит о том, что перед нами система с элементами фреймворка. У движков такого типа можно выделить несколько основных характеристик:

  • Многофункциональность, позволяющая адаптировать систему под выполнение разных задач.
  • Расширяемость, позволяющая добавлять новые возможности за счёт интеграции модулей и программных кодов.
  • Совместимость с различными базами данных.
  • Шаблонизация, обеспечивающая удобное добавление шаблонов сайта.
  • Подходящие инструменты для пользователей с разным уровнем подготовки, от начинающих вебмастеров до опытных разработчиков. 

MODX в этом смысле идеально отражает суть CMS/CMF. Если вы только начинаете путь в вебе, то разобраться с ним будет непросто, но реально, а для информационного наполнения сайта вообще не нужны никакие специальные навыки. Опытные же разработчики отмечают гибкость системы, которая делает её практически универсальным инструментом. 

MODX — удобная система, даже несмотря на сложность в освоении. Это относится к обеим версиям, которые постепенно удаляются друг от друга, но всё ещё обладают большим количеством схожих черт:

  • Быстрая установка дистрибутива на сервер. Вся операция занимает не более 10 минут.
  • Расширение функциональности системы через панель администратора с помощью модулей.
  • Встроенный файловый менеджер, который позволяет добавлять и удалять файлы без соединения с сервером, через административную панель.
  • Мультиязычный интерфейс с хорошей локализацией.
  • Управление несколькими проектами из единого интерфейса. 

Одна из важных функций движка, которая сделала его столь популярным для создания корпоративных сайтов и магазинов, — разделение прав пользователей. Администратор сайта может разрешить зарегистрированным посетителям добавлять контент, но при этом самостоятельно модерировать его перед публикацией. Есть также возможность создавать страницы с закрытым доступом и формировать группы пользователей с правами на просмотр или редактирование. 

Для расширения функциональности на MODX доступны модули и плагины. Среди интересных возможностей движка можно выделить:

  • Публикация материалов по расписанию.
  • Голосование за любой контент, размещённый на сайте, благодаря сниппету anythingRating. 
  • Формирование прайс-листов с помощью плагина TvTable. 
  • Добавление формы для оставления комментариев с помощью модуля Jot.
  • Авторизация пользователей через аккаунты в соцсетях благодаря расширению  Loginza.
  • Использование сниппета CssJs для ускорения загрузки страниц путём минимизации влияния CSS и JavaScript. 

Сайты под управлением MODX имеют высокий уровень защищённости от несанкционированного доступа, взлома, вирусов и других неприятностей. Обновления, закрывающие обнаруженные уязвимости, доступны для бесплатного скачивания. У администратора есть также дополнительные инструменты для управления безопасностью сайта. В системной конфигурации можно установить следующие параметры защиты:

  • Количество неудачных попыток авторизации.
  • Уведомления о системных ошибках.
  • Проверка системных файлов на изменения.
  • Допустимые имена хостов. 
  • Включение капчи. 

Профессиональные разработчики отмечают в качестве положительных качеств системы объектно-ориентированное ядро и доступ к API. Но прежде чем выбирать MODX для запуска сайта, нужно обязательно изучить документацию. Мало того, что на движке используется необычная терминология, так ещё и для него разработан собственный синтаксис тегов. Без его знания заниматься нормальной разработкой на MODX не получится. 

Особенности использования MODX ещё в том, что версии Evolution и Revolution постепенно удаляются друг от друга. Поэтому изучение документации здесь не ограничивается чтением по диагонали, а становится заметным делом в рабочем расписании на ближайшие дни. В противном случае разобраться с особенностями работы движка не получится, и он так и останется непонятной системой с неудобным управлением.

Создание шаблона

После загрузки папок с файлами мы можем начать создание нашего MODX шаблона. В админке нажмите на вкладку Elements слева, откроется панель с различными элементами сайта — шаблонами, чанками, переменными шаблона и другими. Нажмем на templates и увидим, что уже есть в наличии один базовый шаблон с названием Base Template. Если вы на него нажмете, то вы можете увидеть код данного шаблона. Видим HTML код с тегами ], ].

Эти тэги трансформируют статичный HTML/CSS код в динамичный MODX шаблон и мы собираемся узнать как его сделать и приложить к этому свои руки.

Давайте продолжим и сделаем наш шаблон. Для создания нового MODX Revolution шаблона нажмите правой кнопкой мышки Templates, а далее New Template.

Можете также нажать на иконке New Template:

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

Для создания категории, нажмите правой кнопкой мыши на Categories в закладке Elements.

Ну вот можно добавить код в наш новый шаблон. Начнем мы с создания шаблона для главной страницы. Сейчас я могу сказать, что дизайн главной страницы будет отличаться от дизайна внутренних страниц, поэтому я назову этот шаблон каким-то своим именем, например «7in1 Home». Код домашней страницы находится в файле index.html в папке с шаблонами, которую мы загрузили с Themeforest, поэтому открываем этот файл в редакторе (я использую Notepad++) и копируем его содержимое в наш новосозданный шаблон в MODX. Можно (и это на мой взгляд даже более удобнее) отредактировать вначале код вне MODX Revolution и только потом перенести отредактированный код исправленного шаблона, но исходя из целей данного урока, все эти действия проведём внутри редактора MODX.

Идея

Сам принцип подсмотрен у проекта daux.io, который генерирует сайт налету по статичным страницам. Для работы нужен только его скрипт и директория с определённой структурой и файлами в формате Markdown.

Однако, на мой взгляд у daux.io есть несколько серьёзных недостатков:

  • Неудобное управление шаблоном.
  • Отсутствие мультиязычности в оформлении страниц.
  • Нет кэширования, неизвестно каких объемов документацию он потянет.
  • Нет встроенного поиска.
  • Нет перенаправления с одного адреса на другой, при переносе документа.
  • Довольно много ошибок в коде.

В общем, для небольших объёмов это хорошее решение, но для нашего проекта мы используем MODX.

Принцип остаётся тот же: директория с файлами Markdown, из которых строится сайт. Но теперь это самостоятельный сайт, со всеми наворотами, который обновляет свои страницы из GitHub.
Мы избавились от всех недостатков daux.io и добавили преимущества MODX.

Взаимодействие с базой данных в сниппетах

Доступ к слою базы данных в MODX основан на объектно-реляционной модели (ORM), называемой xPDO для подключения к базе данных, поэтому, чаще всего, вам не придется писать необработанные запросы к базе данных, как вы могли бы делать в других CMS. Обычно вы получаете доступ к данным из базы данных, используя несколько объектов и методов MODX, таких как getObject и getCollection. Это зависит от базовой структуры xPDO.

Почему ОРМ?

Вы можете спросить, зачем использовать ОРМ вместо простого SQL? Ну, хотя бы несколько причин ниже:

  1. Абстракция SQL — это означает, что вы можете писать код, который работает с различными типами баз данных, такими как MySQL, SQLite, PostgreSQL и т. д., когда MODX расширяется до этих баз данных. Все без необходимости переписывать ни единой строки кода. Это делает его идеальным для авторов плагинов, которые хотят, чтобы их код был исполняемым на самых разнообразных системах.
  2. Экранирование параметров — больше не нужно беспокоиться о внедрении SQL; xPDO использует PDO PHP для экранирования всех передаваемых в вызов SQL переменных для предотвращения любых злонамеренных вызовов.
  3. Более чистый, короткий код — то, что ранее могло быть сделано в более, чем 40 строках в вызовах функций mysql_ *, теперь можно сделать в 10 строках или менее.

Есть и другие причины, но это для краткости. Давайте посмотрим на несколько примеров:

Пример кода БД

Давайте возьмем чанк с названием LineItem и изменим в нем плейсхолдеры (выполненные с помощью синтаксиса ]) на некоторые пользовательские значения:

Этот код получит чанк с именем LineItem и вернет его обработанным с установленным плейсхолдером. Переменная $chunk на самом деле представляет собой xPDOObject, который является объектным представлением ресурса.

Как насчет более сложных запросов? Как, скажем, получение первых 10 ресурсов с родителями 23, 24 или 25. И давайте сделаем так, чтобы они не были скрыты от меню или удалены, опубликованы и отсортированы по menuindex. Вот когда мы используем мощный метод $modx->newQuery():

Обратите внимание, как мы сначала создаем объект xPDOQuery ($c), используя $modx->newQuery(). Мы передали имя класса, из которого мы хотели построить запрос — здесь ‘modResource’ или ресурсы — и затем использовали нашу функцию where(), чтобы добавить некоторые ограничения

Затем мы отсортировали и ограничили их.

И, наконец, мы вызвали getCollection, которая — в отличие от getObject — возвращает коллекцию или массив xPDOObjects. Затем мы можем перебирать коллекцию, используя цикл foreach, и делать с элементами коллекции все, что мы хотим.

Дальнейшие подробности о работе с базой данных

Чтобы узнать больше о xPDO, прочитайте следующее:

  • xPDO в пространстве xPDO
  • Получение объектов в xPDO
  • Объект xPDOQuery

Построение конечных точек API

Настоящий API состоит из нескольких конечных точек. Если вы хотите создать правильный RESTful API, каждая конечная точка будет соответствовать «ресурсу» (не обязательно виду из левого древа MODX!), И различные HTTP-глаголы (GET, POST, PUT и DELETE) будут использоваться для взаимодействия с конкретными объектами. Допустим, вы создаете API для управления списком дел, у вас могут быть «элементы» конечной точки со следующими действиями:

  • : возвращает элементы в вашем списке дел
  • : возвращает элемент с первичным ключом 15
  • : создать новый элемент в списке дел
  • : обновить одно или несколько значений в вашем списке дел с помощью первичного ключа 15
  • : удалить элемент с помощью первичного ключа 15

В интернете много спорят о том, как назвать ваши конечные точки — в данном случае мы выбрали множественные «пункты». Стоит отметить, что у нас нет конечных точек, таких как /items/create, — это уже покрыто POST для /items и является ключевым аспектом построения API RESTful.

Чтобы создать конечную точку элементов (items), вам необходимо создать контроллер элементов (items controller). Исходя из конфигурации, которую мы передали в modRestService ранее, и значений по умолчанию, каждый контроллер должен начинаться с MyController, помещаться в каталог , а файл должен соответствовать имени конечной точки с суффиксом . Поэтому создайте новый файл и скопируйте в него следующий код:

Предполагая, что ToDoItem является именем допустимого производного xPDOObject, и вы загрузили его где-то с помощью $modx->addPackage() (например, в свой класс Service, который мы вызвали в index.php), теперь у вас есть полностью функциональный RESTful API для ваших объектов ToDoItem. Просто запросите /rest/items, и данный вызов должен вернуть ваши ToDoItems в симпатичном формате JSON.

Если у вас нет готового пакета, вы также можете установить для свойства classKey значение «modResource» и для defaultSortField значение «id», чтобы настроить API для всех ресурсов.

Это как волшебство! Но вы знаете, что еще лучше? Это полноценный API сейчас… И если вы вернетесь к действиям, которые мы упоминали ранее, все они будут работать «из коробки». Например, , вернет только элемент to do с идентификатором 1. Чтобы проверить POST, PUT и DELETE, вам, вероятно, потребуется использовать что-то вроде Postman или curl для отправки правильных запросов, но теперь они также должны быть функциональными.

Теперь, когда у вас работает базовый API, пришло время приступить к реальной разработке и заставить ее работать так, как вы хотите.

Что такое MODX?

MODX — это платформа приложений контента. Что это значит? Ну, это зависит от того, кто вы есть:

Конечные пользователи

MODX предлагает вам систему, которая позволяет вам публиковать ваш автономный контент в Интернете в любой форме, форма или присутствие по вашему желанию. Он также предлагает полностью настраиваемый интерфейс бэкэнда, который вы можете сделать настолько простым (или сложным), сколько захотите.

Вы можете настроить все: от простого сайта до блога, полномасштабного присутствия в Интернете с помощью MODX, и сохранить свой интерфейс администратора простым и удобным в использовании. Перетащите ваши веб-страницы, чтобы изменить порядок и переместить их. Получите полный WYSIWYG просмотр ваших ресурсов. Оставьте Ресурсы неопубликованными, прежде чем закончите их. Настройте расписание ресурсов для публикации в определенное время.

MODX поможет вам организовать ваш контент так, как вы этого хотите, и получить потрясающие встроенные результаты SEO. MODX полностью совместим со 100% дружественным URL, поэтому получить mysite.com/my/own/custom/url.html невероятно просто и так же просто, как структурировать ваш сайт таким образом.

Дизайнеры

Вы когда-нибудь хотели полной свободы с вашим HTML и CSS? Устали от взлома существующих систем, чтобы ваш дизайн работал так, как вы его компилировали? MODX не генерирует ни одной строки HTML — он оставляет дизайн интерфейса на ваше усмотрение.

Вы можете использовать MODX в качестве своей системы управления контентом (CMS), так как MODX предлагает полностью гибкие шаблоны и доставку контента без ограничений. Разместите свой CSS и изображения там, где вы хотите. И как только вы закончите проектирование, либо передайте свои обязанности по разработке вашему разработчику, либо установите дополнительные возможности прямо из менеджера. Просто.

Разработчики

Вы смотрели на разные CMS, но обнаружили, что разработка в них — либо мешанина слишком большого количества не связанных между собой сниппетов кода, либо просто недостаточно мощная или достаточно элегантная. Вы посмотрели на PHP-фреймворки и обнаружили, что у них есть все возможности, но у вас нет управления контентом и нет достаточно хорошего пользовательского интерфейса для ваших клиентов. Вам нужна мощь и гибкость инфраструктуры с пользовательским интерфейсом и управлением контентом CMS.

Ввойдите в MODX Revolution. Полностью гибкий, мощный и надежный API, построенный на принципах ООП и использующий объектно-реляционную модель на основе PDO, называемую ORM. xPDO. Добавить богатый, Sencha пользовательский интерфейс для ваших клиентов (полностью настраиваемый). Пользовательские свойства и наборы. Поддержка интернационализации. Встроенное распределение пакетов, так что вы можете упаковать свой код и распределить его по любой установке Revolution. Добавьте пользовательские страницы менеджера для запуска целых приложений в MODX.

Уроки MODX Revolution

Мы начнем с самого начала, с установки MODX Revolution и перейдем к построению простого сайта.

Для тех, кто хочет сразу попробовать MODX Revolution в работе, есть отличный сайт modx-test.com, где это можно сделать, жмём на кнопку Хочу тестовый сайт MODX Revolution. После ввода своей почты и конфигурирования сайта, необходимо немного подождать, пока сайт создастся. Он будет активен 24 часа и в следующих 24 вы можете скачать транспортный пакет сделанного вами сайта со всеми изменениями…

Будем исследовать разные фичи, чуть не сказал «компоненты» по аналогии с Joomla, адонны и все необходимые вещи для создание сайта с помощью MODX Revolution.

Целевая аудитория MODX уроков

Целевая аудитория для этих уроков — это в основном люди, которые до этих уроков были полностью не знакомы с MODX Revolution. Вам совсем не нужно знать MODX Evolution для прохождения данных уроков.

Если вы знакомы с MODX Evolution, вы можете найти начальные уроки несколько скучными, так как уже все это знаете и основы там и здесь будут повторятся, но я надеюсь, что вы все же чему-то научитесь из данных уроков.

Если вы уже знакомы с MODX Revolution, тогда эти уроки скорее всего вам будут малополезны, так как большинство материала отсюда вам должно быть известно, так что можете просто «потусить» здесь, может найдете какие-либо ошибки и укажете мне на них.

ВАЖНОЕ ЗАМЕЧАНИЕ:

Необходимо осознать одну очень важную вещь самого начала — в MODX CMS почти всегда есть несколько способов сделать что-либо. MODX не ограничивает вас в выполнении чего-либо в определенном порядке или определённым образом. Мои объяснения будут лишь показывать как те или иные вещи делаю я. Это не значит, что это единственно верный способ или наилучший способ, это просто один способ. Таким образом, эти уроки — доступное руководство к действию, точка вашего старта в разработке сайтов. Обязательно пользуйтесь официальной документацей, посещайте другие блоги, форумы и сообщества MODX для поиска новых идей и нового обучения. У меня лишь одна надежда, что вы возьмете к себе на вооружение вещи, изложенные здесь и будете развивать свои способности как у вас получится.

Что такое xPDO?

xPDO (eXtension PDO) — это объектно-реляционный мост (ORB), положенный в основу системы CMS MODX Revolution. xPDO представляет собой библиотеку, построенную на основе PDO. Основная цель этой библиотеки – это предоставить разработчикам объектно-ориентированный программный интерфейс (API), который позволит более просто и эффективно создавать сложные веб-приложения. В основу xPDO положены объектные модели для различных платформ баз данных. Представляет из себя объектная модель xPDO обычный XML-файл. Например, для СУБД MySQL, данный файл называется . Найти его в системе CMS MODX Revolution можно по следующему пути: . Если данный файл открыть, то можно увидеть, что он состоит из объектов (классов). Каждый объект (класс) представляет собой некоторую таблицу, а свойства этого объекта – его столбцы.

Объектов (таблиц) в MODX Revolution достаточно много, но наиболее часто используются при написании снипетов и плагинов следующие: (ресурсы), (чанки), (пользователи), (профиль пользователя), (значение дополнительных полей), (дополнительные поля).

Примечание: в скобках на вышеприведённой схеме указаны названия таблиц без префикса. Каждая таблица представляет собой в xPDO модели тот или иной объект.

Как уже было отмечено выше, каждый объект (класс) имеет свойства (поля). Свойство — это столбец таблицы. Например, объект (ресурс) состоит из свойств (первичный ключ ресурса), (заголовок), (описание), (содержимое ресурса), (id пользователя, который опубликовал ресурс) и т.д.

Кроме этого, каждый объект может иметь связи (alias) с другими объектами. Некоторые из них приведены на схеме. Например, если вам нужно получить имя пользователя, который опубликовал ресурс, то необходимо воспользоваться отношением, имеющим alias . Данное отношение определяет то, как данные представленные объектом modResource связаны с данными объекта modUser посредством локального (publishedby) и внешнего ключа (id). Каждое отношение имеет мощность. Например, у отношения с псевдонимом мощность равна 1. Это означает то, что отношение связвает объект только с одним объектом .

Поля ресурса

Все ресурсы имеют следующие предопределенные поля:

1. Базовые поля ресурса MODX.

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

2. Поля, осуществляющие настройку ресурса.

Имя Описание
isfolder Указывает, является ли ресурс «Контейнером». Если это так, то ресурс будет вместо суффикса иметь слеш (/). Это касается только тех сайтов, которые используют дружественные URL.
searchable Определяет, необходимо ли ресурс включать в результаты поиска.
cacheable Определяет, необходимо ли ресурс кешировать.
createdby Содержит идентификатор (id) пользователя, который создал ресурс.
editedby Содержит идентификатор (id) пользователя, который последним редактировал этот ресурс.
deleted Определяет, отмечен ли ресурс на удаление или нет.
deletedby Содержит идентификатор (id) пользователя, который отметил ресурс на удаление.
publishedby Содержит идентификатор (id) пользователя, который опубликовал ресурс.
createdon Содержит дату создания ресурса пользователем.
publishedon Содержит дату публикации ресурса.
editedon Содержит дату последнего редактирования документа.
pub_date Содержит дату, начиная с которой ресурс будет опубликован.
unpub_date Содержит дату, начиная с которой ресурс будет снят с публикации.
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector