October CMS мой отзыв, как с этим работать?

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

Что такое October CMS.

October позиционируется как система управления содержимым нового поколения. И действительно, в Октябре реализованы лучшие моменты двух систем Modx и WordPress(мое мнение). Основа October CMS — это популярный на рынке PHP фреймворк Laravel. Если вы ранее работали с Laravel, то разобраться как работает Октябрь, будет очень просто.

Одна из плюшек October CMS — это Composer из коробки.

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

 

Что позаимствовал October CMS у «Коллег».

От Modx October CMS взял концепцию шаблонов. Вы увидите:

  • страницы(modx-ресурсы),
  • шаблоны, фрагменты(modx-чанки),
  • содержимое(просто текст, в modx этого нет),
  • ресурсы(файлы темы),
  • фрагменты(modx-сниппеты)

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

Но вот тип контента — содержимое, невиданное диво. Оно может содержать только текст или HTML код, PHP код и Twig теги в нем не работают.

 

 

Единственная похожая черта с Modx это подключение чанков, только вместо самописного шаблонизатора в Октябрь зашили Twig. И как мне кажется нисколько не ошиблись. Например в Modx я вместо стандартного шаблонизатора использую Fenom, который внедрился благодаря Василию Наумкину.

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

От WordPress October CMS взял только концепцию установки шаблонов и плагинов. Например в Modx шаблон интегрируется вручную. Октябрь может установить через репозиторий как в WordPress.

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

 

 

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

С Modx все проще, пока не приходилось выполнять масштабирование проекта, порой админка modx обрастала дополнительными полями и превращалась в кучу хлама, а разработчик с трудом понимал где какая твшка в куче категорий, которые мы использовали для разбивки полей по вкладкам в админке.

В October все дополнительные поля и вкладки модуля отображаются красиво и аккуратно.

 

 

Так выглядит страничка — добавить запись(ее часть).

 

 

October CMS взял лучшее из вышеперечисленных систем и переосмыслил все. По возможностям October больше фреймворк чем CMS. Соответственно и сложность разработки другая. Если вы толком не знаете PHP, а именно ООП, то пока не стоит делать реальный проект. Но попробовать однозначно стоит.

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

Все сложное просто Ajax в October CMS

Одна из самых интересных фишек. На самом деле мне данная идея понравилась, но я и неплохо справлялся с jQuery Ajax, однако стоит отметить простоту использования.

Как официально заявляет команда October CMS, в системе встроен Ajax фреймворк. Вариантов его использования 2.

Data attributes API — вариант для ленивых, принцип в том, что для элементов вы указываете нужный атрибут data.



<div data-request-data="id: 7"> <!-- Передаем доп. параметр id => 7 -->
 <button data-request="onDelete">Delete</button> <!-- Обращаемся к методу onDelete в контроллере фрагмента -->
 <button data-request="onSave">Update</button> <!-- Обращаемся к методу onSave в контроллере фрагмента -->
</div>


Например мы нажмем кнопочку Delete, в наш контроллер прилетит передаваемый id и запустится метод onDelete. Например этот метод удалит запись с id = 7.

 

JavaScript API — Более продвинутый метод. В функции .request() указываем к какому методу обращаемся, далее передаем параметры. Данная JS реализация повторяет предыдущий функционал, который мы сделали с помощью Data attributes API. Тут мы добавили только параметр confirm, он служит для подтверждения выполнения функции пользователем. В параметре data мы передали id записи.


$('form').request('onDelete', {
 confirm: 'Вы действительно хотите удалить запись?',
 data: {id: 7}
})

Рекомендую посетить русскоязычное сообщество и страницу русскоязычной документации.

Мы тоже разрабатываем сайты на October CMS.

Надеюсь данная статья была полезна для вас. Я не хочу сказать, что нужно работать только с Октябрем, а остальные CMS/CMF полного Г/Е. Просто для каждого проекта своя платформа. Я же рекомендую попробовать October CMS в своих проектах. Скорее всего он вам очень сильно понравится, а так же сделает воронение вашим бубенцам. На этом у меня все. Спасибо за внимание и до новых встреч!

Кузнецов Семен

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

Это абсолютно бесплатно?

Не волнуйтесь, мы не кусаемся! Отправьте форму или позвоните нам, наш менеджер вас проконсультирует абсолютно бесплатно по всем интересующим вопросам.

*КАК ВАС ЗОВУТ

ВАШ EMAIL

*ВАШ НОМЕР ТЕЛЕФОНА

ОТПРАВЬТЕ НАМ СООБЩЕНИЕ

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

Адреса

115191 г. Москва, ул. Большая Тульская 54к3

354002 г. Сочи, ул. Переулок Виноградный 2А