Почему modx лучшая система управления сайтом

Глас народа

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

Около десяти тысяч водителей из американских штатов Южная Каролина, Теннесси, Колорадо, Джорджия, Калифорния заявили о своем намерении приехать в Канаду для участия в протесте. Части из них это удалось.

О создании аналогичных конвоев начали сообщать соцсети и СМИ в Австралии, Дании и ряде других стран.

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

Впрочем, наш собеседник, ведущий в твиттере канал под ником Jack O’Neill, считает иначе. По его мнению, шансы на то, что американские дальнобойщики примкнут к акции сильно зависят от реакции властей:

Контекст

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

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

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

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

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

Хронология и причины

Движение, которое, как утверждают ряд комментаторов на Западе, может изменить мир, началось из-за желания канадских властей запретить пересечение границы для водителей грузовых авто, которые не имеют ковид-паспортов и не прошли вакцинацию. С подачи любимца либеральных СМИ премьера Джастина Трюдо Федеральное правительство Канады приняло правила об обязательной вакцинации всех трансграничных дальнобойщиков. Они вступили в силу 15 января 2022 года и вызвали возмущение водителей по всей стране.

Канадские дальнобойщики, которые не «полностью вакцинированы» (а это, как мы знаем, весьма гибкий термин, меняющийся одномоментно по прихоти очередного бюрократа), должны предъявить отрицательный ПЦР-тест, полученный в течение 72 часов после прибытия на границу, и отправиться в карантин после прибытия, в то время как невакцинированным американским водителям будет отказано во въезде.

Практически сразу же начались проблемы. Как пишет канадское издание CTV News, некоторые из дальнобоев, проведя по 16 часов за рулем, застряли на границе, сразу обнаружилась нехватка ПЦР-тестов, а тех, кто не согласен с новыми правилами, начали штрафовать.

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

Конвой встречают овациями.

На некоторых участках она растягивалась на 70 километров. Акция стала самой крупной в истории Канады.

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

Группа в Facebook в поддержку движения под названием «Convoy to Ottawa 2022» 25 января насчитывала 570 000 человек. Аналогичная группа в Telegram-канале — 25 500 участников. На их страницах каждый день появляются сообщения о поддержке канадских водителей из разных стран мира — Австралии, Новой Зеландии, Франции, США, Ирландии, Австрии, Англии и многих других.

За короткий срок было собрано свыше 9 миллионов долларов пожертвований в поддержку участников конвоя.

26 января к дальнобойщикам, двигающимся с запада, присоединились водители Онтарио. 27 января выехали протестующие из Новой Шотландии и Нью-Брансуика. Тем же днем к акции присоединились водители Квебека и близлежащих районов Онтарио, а водители с Ньюфаундленда погрузились на паромы, и 29 января в 12:00 около 70 000 человек «взяли в осаду» здание парламента Канады в Оттаве.

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

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

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

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

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

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

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

<a href="]">Здесь</a>

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

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

<a href="yourpage?section=food&sort=asc">Здесь</a>

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

]

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

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

<a href="]]]">Ссылка на страницу</a>

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

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

]`]]

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

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

<h2>Заголовок</h2>
<p>]</p>

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

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

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

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

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

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

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

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

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

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

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

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

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

Недостатки

Revolution демонстрирует нам опыт разработчиков, но при этом не задействует некоторые современные PSR-стандарты типа автоматической загрузки или пространства имён.

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

Еще одна проблема заключается в использовании ExtJS. Этот фреймворк хорош, но в MODX используется его устаревшая версия. И обновить ее нельзя, так как это нарушит поддержку множества сторонних дополнений.

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

С нами Маск!

Абсолютно карикатурным стало поведение канадского премьера.

Многие дальнобойщики заявляли, что вводить такие ограничения несправедливо. Особенно на фоне того, как в прошлом году власти и премьер Трюдо приветствовали их как героев за обеспечение стабильных поставок продовольствия и СИЗ по всей Канаде.

В этот раз либеральный премьер не нашел ничего лучше, как обозвать канадский пролетариат «ограниченной кучкой маргиналов».

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

Оказалось, что кучка, скорее, гора, и гора эта быстро росла.

«Как и невакцинированные медицинские работники, невакцинированные дальнобойщики чувствуют себя оскорбленными тем фактом, что они были „героями“ в прошлом году, но стали прокаженными в 2022-м. Их настроения идут рука об руку с ростом числа канадцев, которые считают „омикрон“ мягким. На самом деле 85% канадцев считают, что COVID не страшнее гриппа», — отмечает автор издания Postmilennial Анджело Исидору.

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

Это сразу же породило множество мемов и едких комментариев, в том числе на информационных табло над автострадами.

В итоге на гигантскую демонстрацию в Оттаве Трюдо смотрел по телевизору. К дальнобойщикам здесь присоединились и люди из других сфер.

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

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

За сбежавшего Трюдо пришлось отдуваться корпоративным СМИ, которые сначала замалчивали происходящее. Большинство корпоративных СМИ в США предпочитали игнорировать происходящее.

Не сумев замять тему, СМИ принялись шельмовать участников акции. Протестующих стали обвинять в расизме, в том, что акцию организовали спецслужбы РФ, и прочей откровенной дичи. А издание «Вашингтон Пост» и вовсе назвало их фашистами. Политическая карикатура, размещенная в Twitter карикатуристом Майклом де Аддером, изображает грузовики, прицепы которых украшены словом «фашизм», а в нижней части иллюстрации размещены слова «цепочка поставок».

Публикация де Аддера наткнулась на отповедь… Илона Маска, который заявил:

В последние дни Маск много раз писал в Twitter в поддержку конвоя, написав среди прочего: «Канадские дальнобойщики рулят!«

В унисон Маску выступил и его друг — крупнейший подкастер мира Джо Роган. В своем эфире он показал и прокомментировал кадры конвоя.

Кстати, о карикатурах. Как всегда, создатели «Симпсонов» все знали заранее и предсказали конвой аж в 1999 году!

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

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

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

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

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

Требования дальнобойщиков

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

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

В завершение

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

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

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

Пожалуйста, опубликуйте ваши комментарии по текущей теме материала. Мы крайне благодарны вам за ваши комментарии, лайки, подписки, отклики, дизлайки!

Пожалуйста, оставляйте ваши отзывы по текущей теме материала. Мы очень благодарим вас за ваши комментарии, дизлайки, лайки, отклики, подписки!

Валентин Сейидовавтор-переводчик статьи «MODX: The Best CMS You’ve Never Used»

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

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

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

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

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

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

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

]

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

]

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

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

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

]

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

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

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Люкс-хост
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: