
В 2011-м году я познакомился с системой управления и фреймворком, или CMS/CMF, MODx Revolution. С тех пор я изучил данный продукт вдоль и поперек и мы сделали больше сотни сайтов, в том числе и для крупных клиентов, например Сколково Форум или киностудии Арт-Пикчерс. Я прекрасно знаю, что обзоров на эту CMS сделано великое множество. Но, тем не менее, не поленюсь и напишу еще один, но свой.
Меня зовут Артем Зернов. Я не могу сказать, что я успешен как предприниматель или я супер веб-разработчик хоть с каким-то индексом цитирования. Но если вкратце, то у меня есть небольшая веб-студия по разработке сайтов, которой не так давно исполнилось 10 лет. Стремления к огромному количеству заказов у меня нет, так как я не бизнесмен, а скорее главный мастер небольшой веб-студии OpenColour. У меня нет стремления охватить все-все технологии. Я их изучаю по мере необходимости, именно в тот момент, когда возникает потребность их применить в конкретном проекте.
Когда-то давно я решил выкладывать там короткие видео-уроки. И, как выяснилось позже, это оказались действительно полезные уроки для тех, кто только постигает все тонкости этой CMS.
Именно тогда я впервые познакомился с MODx
До MODx я писал полу-кривые сайты на Joomla, в которой все было разбросано по разным подмодулям и нужно было порой поломать голову, чтобы понять принцип организации админки. А для того, чтобы реализовать что-то более-менее нестандартное, то мозг просто разрывался на части.
В один прекрасный день знакомый по универу скинул мне ссылку на MODx со словами: "Посмотри, уверен, тебе понравится". Я долго сопротивлялся, так как чаще всего придерживался позиции, что вместо того, чтобы изучать все подряд, лучше изучить что-то одно, но очень хорошо. Но, тем не менее, зайдя впервые в админку MODx, был весьма удивлен, насколько приятно по сравнению с Joomla в MODx организована админка, даже несмотря на то, что некоторые элементы для меня были непонятны: какие-то чанки, сниппеты и телевизоры (TV).
Админка организована таким образом, что вся структура сайта всегда перед глазами, в левом дереве ресурсов (они же страницы сайта), а всякие прочие общие настройки сайта и настройки отдельных модулей находятся в верхнем меню.
Второе, что привлекло, пожалуй, еще больше, чем первое — это возможность разработки сайта прямо из админки. На первый взгляд мне казалось, что это какой-то урезанный функционал и полноценной разработки сайта только из админки быть не может. Я ошибался. Как выяснилось, для разработки сайтов без сложной внутренней бизнес-логики, этого более, чем достаточно. Конечно, в будущем, я перешел на разработку из IDE. Как ни крути, но IDE вроде PhpStorm врядли сможет переплюнуть даже самая продвинутая админка. Но эта статья совсем не об этом.
Как и любой фреймворк, MODx также состоит из неких базовых сущностей, на основе которых разрабатывается веб-сайт или веб-приложение. В MODx основными (но не всеми) таковыми сущностями являются:
Я перечислил только их, так как понимания этих сущностей будет вполне достаточно, чтобы разрабатывать полноценные веб-сайты и веб-приложения на MODx.
Поговорим о них более подробнее в одной из следующих статей. А я продолжу о своей преданности к MODx.
То это шаблоны, чанки, сниппеты, плагины, ресурсы и системные настройки
Вы, вероятно, заметили, что я MODx называю фреймворком (или по-модному CMF), хотя, казалось бы, это же система управления сайтом (CMS). Вы будете одновременно правы и неправы, так как MODx включает в себя как непосредственно саму систему управления (в рамках MODx он называется manager) — по сути это просто интерфейс, через который вы редактируете записи в базе данных и загружаете картинки. А вот сам этот интерфейс написан на основе фреймворка MODx. Это означает, что вы можете использовать modx как фреймворк для построения своего веб-приложения.
Если мне еще не удалось донести, почему же я питаю к MODx такие преданные чувства, то сейчас я постараюсь это сделать. Работая с той же Joomla, мне приходилось ломать голову, как реализовать тот или иной функционал в рамках конкретной верстки. И чаще всего мои решения выглядели как костыли. Я не уверен, было ли это связано с моим недостаточным опытом, или с неудобностью системы, на которой я строил сайты, но точно могу сказать, что при работе с MODx решения приходили как-то сами собой. И это, однозначно, говорит об удачности архитектуры. А когда разработка не заставляет каждый раз воевать с ограничениями системы, тогда она начинает приносить гораздо больше удовольствия от того, что все получается и практически с первого раза. Собственно, пожалуй, именно поэтому мы подружились с MODx и остаемся друзьями по сей день.