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

Представляем OctoberCMS – CMS на базе Laravel

0

October CMS простая, построенная на базе Laravel система управления контентом. Ее цель – еще более упростить работу веб-разработчиков. Научиться работать с ней очень просто и быстро. Она масштабируемая и расширяемая через систему плагинов, проста в поддержке через систему файлов и позволяет без труда создавать административный back-end интерфейс. А теперь рассмотрим его немного ближе.

Построен на Laravel PHP Framework

Laravel PHP Framework – упрощенный, крепкий и элегантный. Это фреймворк, построенный креативными разработчиками, трансформирует рутинную работу в задание, которое выполняешь с удовольствием. Философия Laravel и October CMS прекрасным образом совпадает и, наверное, ни для кого не станет сюрпризом то, что October использует именно этот тип фреймворков. Эта комбинация обещает идеальную смесь легкого, быстрого и элегантного программирования.

А теперь посмотрим, как проходит установка нашего October CMS.

Начать работу за 0 минут

October устанавливается очень просто. Следующие шаги направят вас на правильный курс.

  1. Скопировать их repo на GitHub или скачать инсталлятор. Рекомендуется скачать инсталлятор, так как это быстрее и проще, а также позволяет вам делать некоторые конфигурации прямо в браузере, следуя простому пошаговому интерфейсу.
  2. Извлеките файлы и создайте свой локальный сервер.
  3. Настройте новую базу данных и запишите имя базы данных.
  4. Пройдите к файлу install.php в вашем браузере, следуйте инструкциям на экране и введите переменные конфигурации.

Удалите установочные файлы после успешной установки, и вы готовы к работе! Теперь вы можете перейти на свой сайт и изучить область возможностей администратора.

Как все это работает – Темы и Темплейты

Хранилище тем – это библиотека для каждой новой инсталляции October CMS. Хранилище содержит все подкаталоги и файлы, необходимые для работы CMS. October CMS выводит вас из демо темы по умолчанию. Создание вашей собственной темы, так же просто, как и создание нового хранилища (называйте его как хотите), файл конфигурации темы называется theme.yaml в основании хранилища, и страница хранилища со страницей файла находятся там же. А теперь давайте посмотрим демо код, чтобы увидеть,  как это работает.

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

Темплейт файлы имеют простую структуру и используют разметку Twig. Twig – это PHP механизм запускающий работу темплейта, который сокращает время создания темплейта,  путем уменьшения общих многословных задач до простых фрагментов кода. Существует три части любой страницы и файлов partial, layout и темплейт:

  1. Конфигурация
  2. PHP код
  3. Twig разметка

Секция конфигурации структурирована как php.ini файл и отмечается, как закончено двумя символами = , освобождающие дорогу для секции PHP. Секция PHP дополнительная для любого файла темплейт и также отмечается, как закончено, печатая еще два символа =. Наконец, разметка Twig содержит фактическое содержание файла темплейт. Выглядит это так:

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

Страницы

Имя файла Страница – говорящее. Это страницы вашего сайта. Они имеют три параметра в секции конфигурации:

1.url – страница url (обязательно)

2.title – название страницы (обязательно)

3.layout – расположение страницы, которое может указать на расположение файла (опция)

4.description – описание страницы в бэкенде (опция)

URL страницы может иметь параметры в зависимости от рассматриваемой страницы. 404 и ошибочные страницы также могут быть определены. Вот простой пример расположения страницы:

Partial файлы

У Partial файлов, также очевидное имя – они ссылаются на файлы, которые содержат частичное количество кода.  Partial файлы достаточно сильны, потому что они могут быть названы и повторно использованы на страницах, расположениях и других Partial файлах. Вы можете использовать тег {% partial %}, чтобы вызвать partial из другого файла. Рartial файлы поддерживают только один параметр конфигурации:

Код 1. description –  partial описание для бэкенда (опция)

Вот базовый пример partial (правый sidebar) вызывающий другой partial (недавние посты):

Layout

Layout файлы определяют расположение страницы, следуя примерам двух первых типов файлов, которые мы рассмотрели. Они выступают как основные строительные блоки любого October CMS проекта. Они имеют две опции конфигурации, каждая из которых используется в бэкенде интерфейса:

1. name – имя layout файла для бэкенда (опция)

2. description – описание layout файла для бэкенда (опция)

Страница layout может выглядеть примерно так:

Давайте предположим, что мы назвали layout файл default.htm и расположили его в нашем хранилище layout файлов. Страница может обратиться к layout так:

Блоки контента

Файлы контента содержат секции контента, которые могут быть вызваны из файлов layout, partial или страницы. Файлы содержания поддерживают три расширения:

1. .htm (для HTML)

2. .txt (для открытого текста)

3. .md (для markdown) <- предпочтительно

Вы можете вызвать файл содержания, используя twig с помощью тега {% content %}. Вот пример страницы, отображающей несколько блоков содержания:

Модуль AJAX

У October CMS есть очень хороший встроенный фреймворк AJAX, позволяющий вам делать AJAX запросы и очень легко работать с некоторыми данными. Для того, что бы добавить фреймворк AJAX, просто включите его расположив тег {% framework %} в любом месте страницы. Он требует jQuery (который должен быть загружен до фреймворка), таким образом, ваша страница может выглядеть так:

AJAX требует работу обработчика событий на сервере. Этот обработчик событий может  загрузить элементы страницы, используя файлы partial. В нашем распоряжении есть два API для выполнения задач AJAX:

Data Attributes API

API позволяет вам выпустить запросы AJAX без JavaScript (он не такой многословный, как JavaScript API). Вот пример сайта с использованием Data Attributes API. Он перенаправляет пользователя к другой странице после успешного запроса:

Просто и эффективно. Единственный недостаток – ограниченный список атрибутов данных. Однако JavaScript API предлагает более широкий выбор.

JavaScript API

Этот API более сильный, по сравнению с data attributes API, так как он позволяет использовать любые опции и методы совместимые с функциями jQuery AJAX. Мы можем использовать метод request() с любым элементом внутри формы или на самой форме. Метод request() имеет единственный необходимый параметр – имя разработчика. Вот пример:

С помощью этого метода мы имеем больше гибкости и контроля.

Легкая расширяемость

October CMS легко расширяется посредством плагинов и компонентов. Согласно заявленной документации:

Плагины – это основа для добавления новых функций для CMS, расширяя его… Компоненты – это строительные блоки, которые могут быть присоединены к любой странице или расположению.

Давайте более детально рассмотрим эти функции.

Плагины

Плагины – это базис расширяемой October CMS вне коробки функциональности. Они могут определить компоненты, добавить страницы бэкенда, взаимодействовать и редактировать функциональность других плагинов. Их легко описать и установить и находятся они в хранилище плагинов. Чтобы начать работу разработки плагина обратитесь к соответствующим инструкциям или зайдите на SitePoint, где вы найдете обучающие видео, которые обновляются практически каждый день.

Компоненты

Компоненты предоставляют нам конфигурируемые строительные блоки и они могут быть присоединены к любой странице, partial или layout файлу. Они расширяют поведение страниц фронтенда следующими способами:

  1. Поддержка переменных участвуя в процессе выполнения страницы
  2. Обработка AJAX событий вызванных страницей
  3. Обеспечение основного исправления, используя partials

Вывод

Философия October CMS отражается в сопутствующей документации. Начало работы – невероятно быстрый процесс, который дает вам чувство комфорта в работе с CMS. До этого, два парня, Алексей Бобков и Самуэль Джордж зашли в тупик, пытаясь сделать работу разработчика проще.

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

Поделиться:

Об Авторе

Переводчик портала WebDesignMagazine.ru. Пишу статьи и делаю переводы для веб-сайта.