Обычно начинают с установки любой новой CMS. Я отойду от общепризнанной практики из-за того, что если не внести имения в конфигурационные файлы, то установлен будет он слегка не так, как хотелось бы и придется делать некоторые вещи повторно.
Структура папок Bolt CMS
Для начала рассмотрим распакованный дистрибутив последней версии Bolt CMS. В корне проект находится следующие папка:
- App – именно здесь находится ядро Bolt CMS и все настройки, кеш, логи и так далее;
- Files – здесь будут лежат файлы, которые вы загрузите для страниц вашего сайта;
- Theme – здесь находятся темы оформления сайта, которые можно поменять;
- Vendor – системные библиотеки, которые при помощи composer загружаются, конфигурируются и необходимы для работы ядра
Если в папку vendor руками лезть не стоит, то в других папках стоит посмотреть все файлы стоит очень внимательно.
Темы я затрону в одной из будущих статей, там много интересного. Но сегодня я пропущу этот каталог. Каталог files я тоже пропущу, я подробно описал как загружать и использовать файлы в статьях в руководстве пользователя.
А вот к папке app покопаемся вдоволь.
- cache – здесь хранится кеш сайта, руками там ничего править не стоит;
- classes – вспомогательные классы Bolt CMS, стоит «поглядеть», но трогать явно не стоит без знаний;
- config — а вот тут лежат все конфгурационные файлы ;
- database – папка с базой на sqlite3, тут нечего смотреть;
- extensions – папка с расширениями;
- resources – тут ресурся для движка, языковые файлы
- src – само ядро движка
- theme_defaults – шаблоны по умолчанию, админка
- view – вьюшки движка
Как легко догадаться, сегодня я буду ковырять настройки в папку config.
Как настраивается Bolt CMS
По умолчанию в папке app/config лежат файлы с расширением *.dist. Эти файлы с настройками по умолчанию всех аспектов работы движка. Их 6 штук. Когда при первом запуске инсталятора скрипт доходит до настроек, то все файлы копируются с теми же названиями и им присваивается расширение yml – именно отсюда и берутся настройки.
Когда первый раз запускается инсталлятор, в файле database.dist по умолчанию прописывается работа с базой SQLite3, а сама база находится в папку app/database. Очень удобно для хостинга без поддержки MySQL и резервное копирование заключается в простой архивации сайта и скачивание себе на локальную машину. Учитывая, что Bolt CMS не предназначен для сайтов с высокой посещаемости и в нем нет плагинов комментариев, то это будет хорошим решением. Но если вам нужно чуть больше производительности, то лучше настроить систему на работу с базами MySQL или даже PostgreSQL.
Файлы с расширением yml – это обычные текстовые файлы, в которых легко разберется любой человек. В них приведены комментарии (правда, на английском языке), есть примеры и по аналогии можно добиться многого от движка.
Config.yml – это основной файл конфигурации именно движка: подключение к базе, название сайта, его адрес, локализация, вывод ошибок и так далее.
Contenttypes.yml – это файл, который конфигурирует типы страниц и их поля в административной панели. Это второй по важности конфигурационный файл и именно его вы будете править чаще всего.
Menu.yml – это файл меню, с помощью которого можно определять разные меню, вложенность элементов, адрес ссылок и название пунктов. Есть и плагин, который помогает визуально редактировать этот файл, но на мой вкус легче руками самостоятельно отредактировать его в редакторе.
Permission.yml – это файл с настройками прав пользователей. Его редактирование нужно будет на последнем этапе разработки сайта.
Routing.yml – это файл с уникальными настроками роутинга. Роутинг – это связывание адреса страницы с конкртеным действием движка. То есть можно делать какие-то тонкие настройки для плагинов и модулей.
Taxonomy.yml – это настройки таксономии. Таксономия – это способ иерархической организации страниц сайта. Проще говоря, это категории и подкатегории каталога статей, теги и так далее. Очень гибко можно связать с типами контента и таким образом делать каталоги с очень разветвленной структурой.
В административной панели можно все эти файлы редактировать в браузере, что удобно для проекта, который уже выложен в сеть. Ну а на локальной машине проще редактировать в своем любимом редакторе с подсветкой.
Переводить все настройки я не вижу смысла совершенно – только зря время терять. Гугл-переводчик с этим справится не хуже, многое вообще понятно интуитивно.
Так что смотрите, читайте, переводите. Ну а в следующей статье я рассмотрю очень интересный вопрос – типы контента, какие поля есть и как добиться вывода их в админке.