Что такое cms modx. MODX: понятие, преимущества, установка

CMS MODX – система управления контентом, которая была выпущена в 2005 году. В 2009 году, она была представлена под кодовыми именами Evolution и Revolution . Версия Evolution была основана на оригинальном коде, в то время как Revolution была полностью переписана с нуля. Наша сегодняшняя статья посвящена по большей части Revolution .

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

Более подробная информация представлена на главной странице сайта MODX и в разделе «О нас ».

Знакома ли вам эта CMS?

MODX – это больше фреймворк для разработчиков, и уж точно не как готовое решение для любителей «конструкторов ». Это не лучший вариант для тех, кто не знает PHP и HTML . Здесь нет конструкторов меню или готовых модулей, которые можно перетащить в шаблон.

Я бы сказал, что MODX – больше CMF (content management framework , «фреймворк для управления контентом »), а не CMS . В нем можно использовать API для управления скриптами, без готовых шаблонов страниц и постов.

Копнём глубже

CMS MODX шаблоны разработаны на PHP . Она работает на всех популярных серверах, включая Apache , IIS , Lighttpd и nginx . Она использует MySQL , а в качестве ORB (object-relational bridge , «объектно-реляционный мост ») — xPDO .

Консоль управления в MODX реализована при помощи ExtJS , Smarty-шаблонов , и собственного API . можно самостоятельно редактировать консоль управления и панели инструментов.

Собственные меню, полный контроль над ACL (списки контроля доступов ) – все это в вашем распоряжении. Но для полноценной работы с функционалом потребуются определенные навыки и знания.

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

Обучение и документация

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

Установка

MODX можно установить, только скачав ZIP-архив и загрузив его содержимое на сервер:


Скачиваем MODX

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

Управление проектом происходит через GitHub , и там всегда можно найти свежие скриншоты и релизы проекта. Я рекомендую скачать самую последнюю версию платформы и загрузить ее на свой сервер.

Чем примечательна CMS MODX

CMS MODX Evolution – это нечто вроде движка для продвинутых пользователей. С самого начала перед вами будет пустой шаблон, над которым придется поработать, а также сотня настроек и функций, с помощью которых можно полностью адаптировать платформу под собственные проекты. Здесь нет никаких конструкторов, помощников, drag and drop интерфейсов, виджетов и прочих удобств.

Если вам нравится писать код вручную, MODX вам точно подойдет. Эта CMS позволяет достаточно быстро обучиться ручной переработке сайтов.

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

Её можно использовать для создания API , форумов, блогов, корпоративных сайтов, сайтов-визиток! Здесь может быть несколько языков, расширенные настройки прав доступа и безопасности, а также возможность настраивать административные панели под каждого клиента.

Создание веб-страницы

Для формирования веб-страницы в MODX используется стек элементов. Так называемые шаблоны, сниппеты, фрагменты кода, переменные шаблона, а также собственная система тегов:

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

Использование MODX предполагает работу над HTML-шаблоном , а также парсинг HTML-кода в готовые фрагменты, а PHP-кода - в сниппеты. Также в шаблонах можно использовать любые произвольные поля. Далее после MODX CMS установки нужно создать ресурс, привязать его к шаблону, заполнить нужные поля, и на этом все!

Resource (ресурс ) - обозначение конечной точки. Это то, что указывается в URL-адресе . Тип содержимого ресурса может быть отличным от HTML (например, PDF или двоичные данные ). Можно установить принудительное скачивание контента или же отображать его прямо в браузере. Ресурс может даже вести на файл или на внешнюю страницу, либо перенаправлять посетителя на другой контент в пределах сайта.

Template (шаблон ) - это рамка (фрейм ), в которой отображается контент. Все ресурсы привязываются к шаблону.

Chunk (фрагмент кода ) - это HTML или JS-код с возможностью повторного использования.

Snippets (сниппеты ) используются для PHP-кода . У сниппетов есть доступ к ядру MODX и ко всем его объектам.

Сниппеты могут запускать фрагменты, и наоборот. Шаблоны и ресурсы могут запускать и то и другое. Это четыре основных составляющих, при помощи которых можно формировать веб-страницы.

Plugin (плагины ) способны расширять функционал ядра.

Template Variable (переменная шаблона ) - это любые произвольные данные, которые могут понадобиться внутри шаблона, и для которых можно указать ресурс. Например, можно использовать переменную шаблона для произвольного изображения баннера на странице, но потом каждый ресурс может привязать иное изображение для отображения шаблоне. Это что-то вроде произвольных полей WordPress , но с большим набором функций.

Можно комбинировать любые из этих элементов при помощи категорий (Categories ). Не забывайте их использовать, чтобы фрагменты кода и сниппеты были организованы, и ими было проще пользоваться.

Знакомство с административной панелью (Manager)

Админ-панель CMS MODX Revolution основывается на ExtJS . За счет этого в ней можно работать с drag and drop интерфейсом, формами, динамическими таблицами, контекстным меню для правой кнопки мыши и многим другим.

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

Настройки системы основываются на пространстве имён. Можно создать пространство имён для самого себя и отдельно для того, чтобы использовать его в каком-то из элементов приложения.

Административная панель не такая уж и сложная, просто требуется некоторое время на знакомство и изучение всех функций и возможностей:


Контекст

Хочу обратить ваше внимание на пункт Website . Это «Контекст », который отвечает за то, что видят пользователи, когда попадают на ваш сайт. У контекстов могут быть абсолютно разные древа ресурсов, права доступа, язык и т. д. По умолчанию, контекст Mgr скрыт из древа.

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

Можно использовать контексты как вам заблагорассудится. Но будьте готовы к тому, что если пользователь авторизован в одном из контекстов, это совсем не значит, что у него будет доступ ко всем другим. Если нужно сделать одну форму авторизации для всех контекстов, то понадобится немного поработать.

Контексты можно использовать для отделения разделов сайта. Некоторые используют их для разделения версий сайта на разных языках.

Шаблоны и теги

Я уже упоминал о том, что в CMS MODX есть встроенная система тегов шаблона. Давайте кратко ознакомимся с ее.

Каждый тег открывается и закрывается двумя квадратными скобками [[ … ]] .

Специальные символы определяют, что именно используется: фрагмент кода, ресурсы или системные настройки. Как ими пользоваться:

[[*…]]: звёздочка отвечает за ресурсы. То есть, за конкретные данные, используемые текущим источником. Например, заголовок страницы или основной контент. Аналогичным образом можно использовать переменные шаблона.
[[++…]]: осуществляется поиск системных настроек, будь то site_url или произвольная настройка вроде company_phone1 (если до этого вы ее создали ).
[[~##]]: этот тег генерирует URL для ресурса по ID (например , [[~32]] ).
[[$…]]: этот тег извлекает HTML-код из фрагмента.
[[…]]: тег без спецсимвола приведет к запуску сниппета.
[[%…]]: выводит языковую строку.
[[-…]]: комментарий к коду MODX .
[[!…]]: восклицательный знак указывает MODX на то, что не нужно кешировать вывод данного тега; его нужно использовать в дополнение к предыдущим символам. Если вы вызываете [[!$SomeChunk]] , то вывод будет обрабатываться каждый раз вместо того, чтобы выводиться из кеша. Я уже говорил, что в MODX CMS функциональные возможности входит встроенная система кеширования?

Параметры тегов

К тегам можно применять параметры и фильтры и таким образом изменять их вывод. Например, можно добавить несколько параметров к автоматически сгенерированному URL-адресу :

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

Вывод приведенного выше тега будет выглядеть следующим образом:

Сниппет также можно снабдить дополнительными данными, если запустить его подобным образом:

[[!MyCustomSnippet? &input=`something tasty`]]

Мы запускаем сниппет с названием MyCustomSnippet , и задаем ему дополнительные данные через поле input со значением something tasty . В PHP автоматически создается переменная с именем $input , которую позже можно использовать в сниппете.

Теги можно встраивать друг в друга. Один из популярных тегов выглядит следующим образом:

Здесь есть указание ресурса [[*id]] , встроенное в тег ссылки [[~#]] . Внутренние теги парсятся до внешних.

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

[[$AChunk? &data=`[[!GetTheData]]`]]

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

Так как приведенный выше тег запускает фрагмент, состоящий только из HTML-кода , то как он считывает значения данных? Они доступны автоматически благодаря тегу placeholder :

Заголовок

Заглушки (placeholders ) чаще всего используют именно так.

Фильтры вывода

В CMS MODX Revolution теги принимают не только параметры. К ним также можно применять фильтры вывода. Фильтры запускают код постобработки вывода. Можно образовать цепочку из нескольких фильтров. Самый простой пример, приведенный ниже, изменяет регистр строки:

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

В данном примере результат объявления Snippet сначала конвертируется в верхний регистр, а затем запускается специальный фильтр replace , который и меняет положение дел. После фильтров идет перечисление параметров, которое начинается с вопросительного знака.

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

Любой сниппет можно применять как фильтр. Для этого нужно использовать название сниппета в качестве фильтра:

[[$CallingChunk:mySnippet]]

Какой бы HTML-код ни отправлялся с помощью CallingChunk , у mySnippet будет к нему доступ, и его можно будет изменять. Значение $CallingChunk доступно в PHP внутри переменной $input , где вы получите в ответ отредактированное значение (подробнее об этом можно узнать здесь ).

Также фильтры можно применять для создания полноценной логики «if then else ».

Если и этого недостаточно

В сайтах на MODX CMS можно распределять контент по категориям, выстраивать отношения элементов в формате parent/child , группировать контент в целях безопасности, создавать плагины для валидации данных, которые вносят ваши пользователи.

Также можно редактировать типы контента и MIME-данные , расширения страниц (использовать .html или нет ), а в качестве источника медиафайлов использовать библиотеку Amazon S3 .

Согласно рейтингу Рунета, Modx находится в первой пятерке сводного топа всех CMS: коммерческих коробочных и Open Source. Сам движок относится к Open Source, то есть имеет открытый исходный код, позволяющий создавать не только сайты, но и приложения. Достоинства Modx:

    Простая, интуитивно понятная панель администратора.

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

    Адекватные требования к хостингу. Для работы Modx достаточно наличия базы данных MySQL, веб-сервера Apache или IIS и поддержка PHP.

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

Modx предлагает добавить на сайт целый ряд полезных модулей: подписку, платежные системы, интернет-магазин, голосования, форум, блоги, баннеры, галереи и т.д.

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

Недостатки

Без недостатков Modx тоже не обходится. Они не столь критичны, но заставляют задуматься, прежде чем устанавливать эту CMS на сервер.

    Трудности при поиске ответов на возникающие вопросы. У Modx есть переведенная на русский язык документация и русскоязычное сообщество, но из-за небольшой численности, полезных материалов меньше, чем у других популярных бесплатных CMS.

    Небольшое количество готовых шаблонов.

Если для Wordpress или Joomla можно легко найти сотню-другую действительно качественных бесплатных шаблонов, то на Modx не наберется и нескольких десятков. Но выход есть - можно взять любой CSS-шаблон и настроить его для использования на движке, добавив Modx-тегов. Правда, начинающему веб-мастеру такую операцию выполнить вряд ли удастся, так что осадок остается: вроде бы CMS позиционируется как простая, а уже на этапе натягивания шаблона появляются такие сложности.

Modx использует другую терминологию, нежели другие CMS. Это нельзя назвать недостатком, просто нужно быть готовым к тому, что веб-страница здесь - это ресурс, а чанки - повторяющиеся на разных страницах элементы HTML-разметки (боковые панели, шапка, подвал).

Вывод

Modx соединяет в себе функциональность, кроссбраузерность и простоту управления. Если работа с Revolution кажется сложной, можно установить Modx Evolution. Да, разработчики забросили эту версию, но в сообществе пользователей хватает профессионалов, которые способны оказывать техническую поддержку движка.

Modx не ограничивает веб-мастера в свободе выражения, предлагая сделать сайт любого типа - от простого одностраничника с предложением услуги до корпоративного сайта или интернет-магазина. Но для этого нужно знать хотя бы основы HTML и CSS, так что совсем новичкам в веб-программировании на этом движке будет трудно.

Modx Revolutoin хорошо защищена, хотя многие веб-студии активно поддерживают миф, что Open Source системы полны уязвимостей. В Modx Evolution защита чуть слабее, поэтому для сайтов, на которых предусмотрены платежи, лучше использовать версию Revolution.

MODX - фреймворк и CMS, распространяемая на бесплатной основе (с открытым исходным кодом). Впервые была представлена в 2004 году. Сегодня пользователям доступны два варианта CMS: Modx Evolution и Modx Revolutoin. Первая версия больше не поддерживается разработчиками, но еще пользуется популярностью у пользователей (особенно, у старо созданных сайтов, под которые разработаны индивидуальные решения). Вторая версия актуальна и на сегодняшний день получает поддержку MODX LLC.

Система управления сайтом MODX - мощный инструмент, который предназначен для работы как с простыми (сайтами компаний), так и со сложными проектами (порталы, сайты каталоги, интернет-магазины).

Основное преимущество MODX

Входит в топ-5 CMS Рунета. Этот рейтинг объединяет все системы управления содержимым: Open Source и коммерческие. Благодаря открытому исходному коду MODX можно использовать для создания уникальных приложений и сайтов. На ней можно реализовать любые индивидуальные решения, уникальный дизайн шаблонов, нестандартные плагины.

Плюсы CMS MODX:

Доступны любые варианты дизайна для "натягивания" на систему. При необходимости можно создавать новые шаблоны и применять их в зависимости от типа добавляемого контента.
+ Функция одновременной работы над двумя сайтами. Это особенно удобно при наличии сетки ресурсов.
+ Разработка сайтов любой сложности: от визитки до интернет-магазина.
+ Удобный свой синтаксис тегов. Это одно их главных отличий данного инструмента от других CMS с открытым исходным кодом.
+ Универсальность. Можно задавать ЧПУ-адреса страниц, все нужные заголовки, описания.
+ Удобное использование на хостинге. Перенос на удаленный сервер максимально упрощен. Достаточно действовать в соответствии с инструкциями.
+ Кроссбраузерность и кроссплатформенность. Поддерживаются все основные браузеры, в т. ч. мобильные.
+ Интуитивно понятная панель администрирования, с ней достаточно легко разобраться новичку.

И это еще далеко не все положительные особенности платформы.

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

Недостатки MODX

Сразу же отметим - плюсов у этой CMS несравненно больше, чем минусов. Но для справедливой оценки нельзя обойти вниманием и последние.

Можно выделить такие недостатки:

Ограниченное количество встроенных шаблонов. Количество бесплатных шаблонов для Joomla и WordPress доходит до двух сотен. MODX может похвастаться несколькими десятками. Но есть достаточно простое решение проблемы. Любой дизайн-макет можно отверстать и адаптировать при помощи MODX-тегов, после чего использовать на движке.
- Ограниченное количество полезных материалов. Хотя имеется и русскоязычное сообщество, и переведенная на русский документация. Но с ответами на некоторые вопросы могут возникнуть затруднения.
- Оригинальная терминология. Она существенно отличается от используемой в других CMS. Хотя вряд ли это серьезный недостаток. Просто для человека, привыкшего к другим системам управления содержимым, это может создать определенный дискомфорт. Немного тренировки - и вся терминология станет понятной.
- Как и у любой бесплатной системы с открытым кодом, есть проблемы с уязвимостью. CMS часто взламывают, но, для опытного программиста нет сложностей поставить, например, двойную авторизацию и настроить платформу так, чтобы пользоваться ею было безопасно.

Главный недостаток на наш взгляд - это слишком малое количество готовых модулей, решений для создания на этой платформе многофункционального интернет-магазина. Работа в админ-панеле совершенно не подготовлена для полноценной работы менеджера интернет-магазина. Очень многое приходится дописывать "ручками". Мы не рекомендуем создавать на MODX интернет-магазины . Лучше для этих целей использовать более подходящие решения (1С-Битрикс , Shop Script или бесплатные платформы Opencart, Prestashop).

Подведем итоги

Что же собой представляет MODX? Это многофункциональная система, которая может похвастаться простотой управления и кроссбраузерностью. Есть две версии на выбор: Evolution для начинающих веб-мастеров и Revolution для опытных профессионалов. И хотя Evolution больше не поддерживается разработчиками, полезные советы и техническую помощь всегда можно найти в сети. Разбирающихся людей пока что хватает.

На платформе можно создавать и сложные интернет-магазины, и простые одностраничники. Достаточно лишь нанять опытного верстальщика/программиста. Но, мы советуем рассматривать для интернет-магазинов другие платформы, а на этой создавать корпоративные сайты, сайты-каталоги максимум.

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