Архив рубрики: CMS

Административная панель Wolf CMS. Часть 1

Административная панель  Wolf CMS довольно проста и понятна с первого раза. Однако за внешней простотой скрываются широкие возможности для разработчика. Давайте для начала пройдемся внимательно по основным вкладкам панели и посмотрим что и за что отвечает.

Достаточно в установленной системе Wolf CMS ввести адрес типа https://ваш-сайт/admin и вы попадете на страницу входа в административную панель. Тут нужно заполнить простую форму: ввести свой логин и пароль, который вам сгенерировала система по умолчанию и вы попадете уже в саму панель.

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

Административная панель WolfCMS

Административная панель WolfCMS

Именно здесь создается структура сайта. Первый вход будет сделан на языке по умолчанию — английском. Позже, можно настроить вывод админки на другие языки, русский в том числе (как на скриншоте). Этим мы займемся немножко позже.

Если рассмотреть внимательно, то можно увидеть, что админка состоит как бы из 4 частей: названии сайта с маленьким меню пользователя, основным меню с табами (на самом деле это переходы на другие страницы), основной частью страницы и подвалом, где копирайт системы.

Нас же пока интересует, то что Pages позволяет управлять структурой. Икона лупы напротив страницы позволяет открыть в другом окне нужную страницу, чтобы посмотреть  как она выглядит, в колонке Modify мусорный бачок означает удаление, плюсик в зеленом кружке создает дочернюю страницу, а пустой лист с зеленой стрелкой внизу копирует страницу.

Здесь есть подводные камни:

  • если вы копируете страницу, то копируются и ВСЕ ДОЧЕРНИЕ СТРАНИЦЫ. Причем не всегда корректно меняются поле slug, так что будут появляться ошибки — нужно будет подправлять эти поля.
  • в системе происходит при выводе меню, хлебных крошек поиск по slug, так что дублей быть не должно (но почему-то система не совсем корректно проверят на дубли это поле)
  • при создании дочерней страницы, страница создается дочерней, поменять можно перетаскиванием (об этом ниже). Вот только часто меняется неправильно порядок страниц. Ты ожидаешь что будет добавляться внизу, вроде так и происходит. Но когда правишь страницу, она вдруг прыгает куда-то вверх. Тут на лицо неправильное задание цифры порядка. Для себя я вывел, что лучше сразу создать все страницы и задать им имена. А потом уже через «изменить порядок» поставить в том порядке, в котором мне нужно.

Если кликнуть на названии странице, то страница перезагрузится и мы сможем редактировать страницу.

Редактирование страницы в WolfCMS

Редактирование страницы в WolfCMS

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

А вот что требует особого внимание, так это понятие «фильтр». Фильтр в терминологии Wolf CMS — это редактор, который подключается для редактирования в обычном текстовом поле. На скриншоте подключен планиг фильтра Ace. Ace позволяет комфортно редактировать исходные тексты на разных языках программирования. Впрочем, о фильтрах и о Ace я расскажу подробнее в отдельных статьях.

Еще стоит обратить внимание на кладки «body» и «slider». По умолчанию к любой странице создается вкладка body, где можно ввести код/текст и который обычно и выводится. Но к любой странице можно сделать несколько таких вкладок и потом по условию в шаблоне выводить что-то и из них. В документации к Wolf CMS я встречал howto подключения с помощью вкладок формы обратной связи, чтобы не плодить сниппеты (фрагменты).

Таб (вкладка) «метаданные» позволяет задать метаданные страницы. Вот сриншот:

Редактирование метаданных страницы в WolfCMS

Редактирование метаданных страницы в WolfCMS

Как видите, основное для SEO-оптимизации есть уже сразу в системе. Хлебные крошки нужны для вывода в хлебных крошках как короткое название страницы. Не смотря на то, что во всех инструкциях для вывода меню используется заголовок страницы, я рекомендую использовать именно хлебные крошки. Когда дойду до меню, я покажу как это сделать. Таким образом можно в шаблоне вывода страницы задать вывод заголовке с теми тегами, которые нужно, а не судорожно вспоминать через полгода, когда добавляешь страницу: » А как же я выводил заголовок на других страницах?».

Кроме того, описание можно использовать и как короткое описание в выводе ленты новостей, и как description страницы. Тут тоже зависит все от вашей фантазии. Можно описание оставить как SEO-описание, а создать для ленты новую вкладку для тизера.  А можно использовать одно и тоже описание для того и другого.

Метки как бы не используются в базе Wolf CMS. Однако можно сделать самостоятельно фильтрацию и реализовать систему тегов как на блогах. Тут нужно искать плагины или писать саомостоятеньно на php.

Ну и в настройках можно задать другие важные настройки страницы:

Настройки страницы в WolfCMS

Макет — это название вашего шаблона вывода страниц. Дата создания и дата публикации тоже понятны. Тут можно делать отложенную публикацию и снимать автоматически с публикации страницы.

А вот «тип страницы» нужен для расширения стандартного функционала. Именно через плагины можно создавать страницы с особыми свойствами и как раз здесь эти свойства присваиваются. Пример таких страниц: архив, лента, поиск по сайту. Пока не буду заострять на этом внимание, поговорим об этом позже.

Последняя строка уже относится к правам пользователей. В Wolf CMS могут быть 3 вида пользователей: администратор, разработчик, редактор. Здесь вы задаете возможность просматривать ее зарегистрированным пользователям (одной из 3 видов пользователей) или для всех, а от изменения защищаете галочкой — можно ли ее редактировать или нужны права администратора. По умолчанию, работа с пользователями в Wolf CMS построена плохо. Однако есть плагин, который позволяет существенно расширить возможности системы.

Осталось только рассмотреть статусы страницы. В Wolf CMS есть 5 основных статусов: опубликована, черновик, скрыта, предосмотр, архивировано. В настройках можно задать как по умолчанию будет создаваться: черновик или опубликована. Пройдемся по всем подробнее

  • Опубликован — такая страница сразу видна на сайте если все правильно настроил разработчик. 
  • Черновик — такая страница не видна на сайте, но в базе она есть. Вывести ее не удастся покак не изменится статус страницы. Используется для черновиков или если надо срочно снять с публикации материал.
  • Скрыта — страница находится в базе, её можно посмотреть на сайте, но она скрыта в меню. Используется для скрытых системных страниц, таких как карта сайта для Google в формате xml, вывод результатов поиска по сайту, вывод архива страниц, rss новостей сайта и других
  • Предопросмотр — выбор этого пункта позволяет иметь доступ к странице редактору контента, но не на «боевом» сайте. То есть вы можете посмотреть из структуры сайта страницу как она будет выглядеть, но просто получить доступ по ссылке нельзя. Получается этакая разновидность скрытой страницы, но с заточкой под редактора.
  • Архивировано — этот тип новый и нужен для архива новостей.

Итак, мы полностью разобрали главный раздел административной панели Wolf CMS — управление страницами. Теперь вы можете самостоятельно создать любую структуру сайта согласно вашей задумки и наполнить его своим контентом.

В следующих статьях я расскажу о других пунктах административной панели Wolf CMS



2019-03-31T20:19:29
CMS

Руководство пользователя Bolt CMS

О системе управлением контента Bolt

Bolt — это система управлением контента, которая старается сделать проще и доступнее работу с наполнением и администрированием сайта.

Это руководство поможет вам быстро освоить систему Bolt  и применять для управлением контентом ваше сайта в интернете.

Вход в панель администрирования сайта

Вход в панель администрирования находится по адресу

Форма входа в административную панель Bolt CMS
Форма входа в административную панель Bolt CMS

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

Затем нажмите кнопку Войти.

Панель управления

После ввода своего логина и пароля, вы попадаете в панель управления. Здесь вы увидите последние записи, лог событий в административной панели. Так же можно легко создать новую запись в один клик.

Административная панель BoltCMS

В правом верхнем углу находится меню, первая кнопка которого возвращает на эту страницу.

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

В Bolt есть три разных варианта создания новой страницы:

Вариант 1. Кнопка в панели управления

Нажать на клавишу Новый … чтобы создать новую страницу.

Добавление материала в Bolt CMS: вариант 1

Вариант 2. Через просмотр всех страниц нужного типа

В меню Содержание -> Просмотр для просмотра всех страниц нужного типа. Затем вверху кликнуть на кнопку Новый для создания страницы этого типа.

Добавление материала в Bolt CMS: вариант 2
Добавление материала в Bolt CMS: вариант 2

Редактирование контента

Поле редактора

В поле для редактирования контента страницы используется визуальный редактор на JavaScript для вставки и редактирования текста, видео и изображений.

Страница добавления материала в BoltCMS
Страница добавления материала в BoltCMS

Добавление изображений на страницу в поле изображения

Для добавления изображения с вашего компьютера на страницу можно использовать поле Изображение. Нажмите на кнопку Загрузить изображение и появится диалог выбора изображения на вашем компьютере. После выбора изображения нажмите кнопку «Открыть».

Поле добавления изображения
Поле добавления изображения

Для использования изображения на странице сайта, в шаблоне страницы должно быть прописан тег как его выводить.

Фактически, данное поле загружает изображение на сервер и возвращает путь и название файла. Использование изображения на странице лежит на веб-разработчике, который использует полный путь и название файла (или их часть) для вывода изображения в исходном тексте страницы.

Добавление изображения в визуальном редакторе

Для добавления изображения в основной контент, нужно на панели редактора нажать кнопку Изображение.

Страница добавления материала в BoltCMS
Страница добавления материала в BoltCMS

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

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

  1. Название  – название картинки, которое будет появляться во всплывающей подсказке при наведении на картинку указателем мыши;
  2. Адрес  – адрес изображения в интернете;
  3. Позиция – для прижатия изображения в тексте и его обтекания (слева-справа);
  4. Размер – вы можете задать желаемый размер изображения в тексте, отличный от фактического.

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

Добавления видео на страницу в поле видео

Для вставки видео можно использовать поле для видео. Работа с ним аналогична работы с полем для изображения.

Добавление видео через поле
Добавление видео через поле

Добавление видео в визуальном редакторе

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

Кнопка вставить видео в визуальном редакторе

<iframe width="560" height="315" src="https://www.youtube.com/embed/t037bii--Ng" frameborder="0" allowfullscreen=""></iframe>

Загрузка файла

Для загрузки произвольного файла есть специальное поле – «Файл». Нужно кликнуть Загрузить файл. В диалоговом окне выбираете файл у себя на компьютере и нажмите кнопку Открыть. Файл загрузится на сервер в папку с именем «год-месяц». А в поле появится путь до этого файла.

Добавление файла через поле
Добавление файла через поле

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

Изменения настроек страницы

В ленте статей определенной категории или в панели управления справа расположена кнопка «Редактировать», которая позволяет оперативно изменить  настройки страницы:

  • Посмотреть на сайте – посмотреть страницу в новом окне браузера;
  • Изменить статус публикации – опубликовать или снять с публикации страницу (запретить просмотр);
  • Изменить статус документа – изменить статус на «черновик»

Так же можно сделать дубль страницы или удалить.

Редактирование настроек страницы в BoltCMS

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

Если к типу страницы были назначены категории и теги, то они так же показываются в выпадающем меню.

Публикация страницы

Вы можете управлять статусом страницы и таким образом решать как и кому её показывать. Доступны следующие опции:

  • Опубликовать: публиковать и показывать страницу на сайте;
  • Не публиковать: страница не публикуется и не видна на сайте;
  • Время публикации: страница будет опубликована и видна на сайте в заданном временном промежутке;
  • Черновик: страница не опубликована и не видима на сайте, но сохранена для будущего редактирования и одобрения;
  • Снята с публикации: страница была опубликована и видима на сайте некоторое время, но сейчас её никто не видит.

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

Сохранения записи

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

Обзор контента

Для просмотра записей одного типа, нажмите на кнопку Содержание в правом верхнем меню и выберите нужный тип записей.

Обзор материалов по категориям
Обзор материалов по категориям

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

В правой колонке будет расположена кнопка создания новой записи данного типа.

Ниже кнопки расположено поле, которое работает как фильтр для отбора записи по словам.

Еще ниже располагается виджет, где показываются последние изменения записей данного типа с указанием даты.

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

Пользователи

Работа с пользователями возможна только с правами администратора!

Для доступа к обзору пользователей нажмите кнопку в верхнем правом меню Параметры  -> Пользователи.

На странице «Пользователи» можно добавить, отключить или удалить пользователей. Так же можно созданному пользователю присвоить определенные права

Создание нового пользователя

Добавление нового пользователя BoltCMS
Добавление нового пользователя BoltCMS

Для создания пользователя нужно в правой колонке нажать кнопку «Новый пользователь». Для добавления пользователя необходимо заполнить форму добавления пользователя:

  • Логин (обязательно)
  • Пароль (обязательно)
  • Подтверждение пароля (обязательно)
  • Электронная почта
  • Имя, которое отображается на сайте
  • Роль пользователя
  • Включен или выключен пользователь

После ввода данных нажмите кнопку «Сохранить»

Изменение пользователя

users.png
Список пользователей BoltCMS

В левой колонке выводится таблица со всеми пользователями CMS Bolt. Справа расположена кнопка «Редактировать», которая позволяет вызвать форму редактирования пользователя. Сразу за ней кнопка со стрелкой вниз раскрывает оперативное меню доступа к настройкам пользователя: можно отключить или удалить пользователя.

Форма редактирования пользователя полностью аналогична форме создания нового пользователя.

Журнал активности

В меню Параметры -> Журнал активности вы можете посмотреть лог работы с сайтом пользователей.  В логе отображается запись, дата и время, действие и страница, которую редактировали.

Таким образом можно узнать кто, что и когда менял на сайте.

Журнал активности в BoltCMS
Журнал активности в BoltCMS

Загруженные файлы

В меню Параметры -> Загруженные файлы вы можете увидеть все файлы в папке Files и подпапки. Возле каждого изображения выводится превьюшка, название файла, размеры, занимаемое место, дата изменения и кнопки редактирования.

Список загруженных файлов
Список загруженных файлов

Кнопка редактирования позволяет только удалить или дублировать файл.

Перед кнопкой расположена не переведенная кнопка “Place on stack” — добавить в коллекцию. Коллекции создаются для каждой папки для быстрого доступа к файлу изображения и не только.

Внизу таблицы располагается форма загрузки файлов на сервер. Работает она только с одним файлом.

Просмотр сайта

Вы можете посмотреть сайт нажав на кнопку в верхнем меню административной панели Просмотреть сайт. Будет создана отдельная вкладка и ваш сайт загружен туда.

Просмотр сайта

Выход из административной панели

Нажмите крайнюю правую кнопку Выйти в верхнем меню.

Кнопка выхода из административной панели BoltCMS



2019-03-31T00:11:30
CMS

Bolt CMS

Существует огромное количество систем управлении контентом (CMS), написанных на языке php под разные задачи. Вот только многие из них были написаны для учебы и уже давно заброшены.

Bolt CMS
Скрнишот административной панели BoltCMS

Есть и признанные «тузы» в мире веб-разработки: WordPress, Joomla!, Drupal, MODX и некоторые другие. У этих CMS большое количество последователей, расширений, статей по ним с описанием решением разнообразных проблем, «тусовок» на разных языках.

Я хочу познакомить с новичком на рынке CMS — Bolt.

Bolt CMS — это система управлением контента, которая стремится быть простой и понятной насколько возможно. И сохраняет большой потенциал по росту проектов.

Внутренности Bolt CMS

Технически Bolt написана на языке программирования php, что не является чем-то выдающимся. Однако она построена на основе микро-фреймворка Silex, который появился как упрощение большого промышленного фреймворка Symfony. Соответственно можно при разработке использовать компоненты Symfony и другие библиотеки.

Так же можно использовать и Composer – систему управления пакетами в php, использующую библиотеку curl.  Но эти все изыски для понимающих толк в программировании.

Шаблонизатор Twig, так что документации по нему в интернете много.

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

Требования к серверу

Требования к серверу стандартны для сегодняшнего дня

  1. Версия интерпретатора php 5.3.3 и выше
  2. Расширения SQLite для доступа к базам данных sqlite, или MySQL (PostgreSQL)
  3. Сервер Apache или NGIX с возможностью настройки ЧПУ (человеко-понятных адресов)

А для самого интерпретатора php требуется в настройках ресурсов:

  1. Минимум 32 Мбайт оперативной памяти;
  2. Расширение PDO для доступа к базе данных
  3. Расширение cUrl для обновлений
  4. Расширение GD для работы с графикой.

Тоже обычная конфигурация. В принципе, такие настройки даются на любом платном хостинге. Учитывая, что возможно работать без базы данных MySQL на файловой базе SQLite, то и на многих (если не на всех) бесплатных хостингах сайт на Bolt CMS тоже прекрасно заведется.

Ну а для администрирования подойдет любой современный браузер: FireFox, Chrome, Opera, Safari. Даже Internet Explorer 9 и выше будет работать. Так же будет работать админка и в мобильных браузерах: iPad, Android.

По ресурсам. Наследие Symfony сказывается — потребление памяти на фронтэнде до 12 метров, в бекэнде – до 25 метров. А вот генерация страниц 0,5 секунды на хостинге от Sprinthost.ru при первом обращении к странице и 0,26 секунды при повторных обращениях (работает кеш движка).

Тут он явно проигрывает MODX Evolution, однако выигрывает у  Drupal, WordPress с заметным отрывом. Так на проекте с WordPress у меня фронтэнд генерится за 0,9-1,2 секунды и съедает память до 35 метров на том же хостинге. В целом, все это укладывается в нормы нормального быстрого сайта. Учитывая, что основные тормоза делают скрипты и неоптимизированная графика, можно сказать, что движок быстрый.

Сайты, которые можно сделать на Bolt CMS

Система явно писалась для разработчиков и это видно. Накликать как в Joomla! с её всплывающими модальными окнами настройки не получится — обязательно нужно править конфигурационные файлы. Зато система очень гибкая и удобная для разработки.

Я определил для себя, что на текущий момент в ветке 1.6 можно делать небольшие проекты:

  1. landing page или одностраничкики (страницы захвата посетителей);
  2. Сайты-визитки (главная-услуги-о фирме-контакты-обратная связь);
  3. корпоративные сайты без работы с пользователями,
  4. всевозможные каталоги товаров/услуг;
  5. презентационные сайты;
  6. сайты-статейники (то есть разные статьи с разделами, тегами, таксономией);
  7. блог (с ограничениями по комментариям).

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

Чего НЕ СТОИТ делать на этом движке однозначно:

  1. интернет-магазины;
  2. социальные сети типа одноклассников или вконтакте;
  3. мультиблогов с наполнением из фронтенда пользователями.

Типы страниц в Bolt CMS

«Взрослые» системы управления контентом обладают одной яркой особенностью – создавать дополнительные поля к страницам по желанию и использовать их потом в шаблоне. В WordPress это не так давно стали их использовать в самом движке, хотя уже давно расширения создают такие поля. Поэтому еще как-то слабо их используют. В Drupal  это называется CCK (content construction kit – конструктор контента) и именно от этого движка эта идея пошла в другие. В MODX это называется TV-параметры — параметры шаблона, который назначается странице.

Штука это удобная и позволяет очень легко в странице выносить данные по таким полям. Примером может служить страница описания товара: контент служит для описания, одно поле для цены, другое для артикула, третье для картинки-превьюшки, четвертое с помощью JSON фотогалерея, целая куча параметров — технические характеристики. Потом в шаблоне делается вывод со своим форматирование именно туда, куда нужно. И ни один безграмотный «наполнятель сайта» не сможет нарушить разметку. Кроме того, по таким полям очень удобно строить фильтры отбора для показа именно нужных лент товаров (статей/новостей).

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

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

Плагины  Bolt CMS

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

Увы, особого разнообразия в плагинах нет. Фактически, большая часть — это расширения шаблонизатора Twig для легкой вставки новых тегов в шаблон страниц. Эти теги вставляют через API разнообразные плюшки интернет-сервисов: лайки, публикации в социальные сети, подключение внешних комментариев DISQUS, google analitic.

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

Плагины есть и более «концептуальные», но я с ними еще не разбирался. Для расширения самого движка есть плагины авторизации, редактирования с фронтенда администратором страниц, теги, редактор меню (непонятно зачем?), карты сайта, RSS-ленты.

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

Шаблонизатор Twig  в Bolt CMS

При кажущейся простоте темы – создании шаблона для Bolt, это еще один скрытый краеугольный камень. То, что в других движках делается на php в виде сниппетов или обращениям к функциям ядра движка, в Bolt делается при помощи шаблонизатора Twig.

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

Именно так и делаются ленты, выводы страниц и некоторые другие особенности верстки.

Циклы, условия, переменные — это тоже стандартные возможности шаблонизатора.

Так что пока в обзоре Bolt на этом остановлюсь, а после перевода документации, выложу накопанные тонкости.

Заключение

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



2019-03-29T20:06:52
CMS

Установка утилиты Drush 8 для Drupal 7

Не секрет, что CMS Drupal при своей впечатляющей функциональности, надёжности и универсальности является довольно сложной системой, которая заставляет разработчиков изрядно «потеть» при создании проектов на её основе. Даже администрирование уже готовых проектов Drupal требует хороших подготовки и опыта. Также Drupal не отличается «дружелюбием». Поскольку не предоставляет пользователю комфортного инструментария «из коробки» для обслуживания системы. Не говоря уже о разработке. Именно поэтому появилась Drush – утилита, которая выводит работу с Drupal на совершенно новый, более «продвинутый» уровень. Она позволяет пользователям при работе с CMS выполнять самые сложные и рутинные задачи буквально за считанные секунды. Избавляя при этом от необходимости держать в голове большой объём информации и сосредоточиться на главных задачах.

Зачем устанавливать Drush?

Поскольку CMS Drupal довольно популярная система для разработки сайтов и других веб-приложений самой разной направленности. То для хостинг-провайдеров важно предоставлять пользователям весь сопутствующий инструментарий. Администраторы и сотрудники техподдержки хостинга также должны разбираться в специфических вопросах, касающихся организации сайтов на Drupal. В частности вопросам по установке и работе с утилитой Drush. Среди клиентов, обращающихся в службы поддержки хостинг-провайдеров очень много тех, кому необходима помощь с Drush. Да и сами администраторы часто используют эту утилиту для удобства и экономии времени в целях организации и настройки инфраструктуры, необходимой для использования веб-приложений на основе Drupal. Ведь пользователи-клиенты хостинга чаще всего используют в своей панели управления именно кнопку «Установить Drupal». Не подозревая, что при этом будет задействована утилита Drush. Которая и сделает всю работу по установке.

Особенности использования Drush для разный версий CMS Drupal

На данный момент разработчиками поддерживаются две версии CMS Drupal – 7 и 8. Рекомендуется для каждой из версий использовать и соответствующие версии утилиты Drush. Например для Drupal 7 актуальной является Drush 8.x. Она же использовалась и для Drupal 8.3.x. Однако, для обслуживания и управления Drupal более старших версий (8.3+) очень рекомендуется использовать уже Drush версии 9.x. Это связано с различиями в архитектуре систем разных версий Drupal, которые по техническим причинам отражаются и в архитектуре самой утилиты Drush. В данной статье будет рассмотрен пример установки Drush 8 для Drupal 7, поскольку это проще для понимания. Установка Drush 9 для Drupal 8 несколько отличается.

Что для этого нужно?

Для установки всех версий Drush необходим Composer – пакетный менеджер для проектов на PHP. Он автоматически отслеживает, загружает и устанавливает зависимости для требуемых проектов. А Drush – это PHP-проект.

Естественно, необходим также и установленный в системе интерпретатор PHP с базовыми расширениями, в частности php-cli.

В общем случае установка Drush включает следующие этапы:

  • установка Composer;
  • установить пакета Drush;
  • установка всех необходимых зависимостей для Drush с помощью Composer;
  • настройка переменных окружения для запуска Composer и Drush, если это необходимо.

Последний пункт используется в случаях, когда производится локальная (для отдельных пользователей), а не общесистемная установка.

Установка Drush

В данном примере будет рассмотрена установка утилиты Drush для пользователя john. Например, этот пользователь для своей учётной записи на некоем веб-хостинге решил установить Drush для обслуживания своих сайтов на Drupal.

Composer — загрузка и установка

Для начала нужно скачать утилиту Composer:

$ wget https://getcomposer.org/download/1.8.4/composer.phar

Далее, для установки нужно скопировать/переместить загруженный файл composer.phar куда-нибудь, где хранятся локальные исполняемые файлы для домашнего каталога пользователя john, например в ~/bin:

$ mv composer ~/bin/composer

Как видно, от расширения *.phar уже можно избавиться — это не принципиально. Также нужно позаботиться о предоставлении права на запуск для пользователя-владельца файла composer:

$ chmod u+x ~/bin/composer

На этом, собственно, установка Composer завершена. Теперь необходимо обеспечить (для удобства) выполнение утилиты из любого места в домашнем каталоге пользователя. Для этого нужно установить пользовательскую переменную окружения PATH для Composer, отредактировав файл ~/.bashrc добавлением в него строку:

export PATH =”$HOME/bin:$PATH”

После перезапуска сеанса пользователя можно выполнять команду composer.

Drush – загрузка и установка зависимостей

Теперь нужно загрузить с официального сайта проекта пакет (архив) самой утилиты Drush:

$ wget https://github.com/drush-ops/drush/archive/8.x.zip

Загруженный архив можно распаковать также в ~/bin:

$ unzip 8.x.zip -d ~/bin

$ ls ~/bin

composer drush-8.x

Теперь осталось с помощью команды composer install в каталоге с только что установленным проектом Drush (~/bin/drush-8.x) установить все зависимые пакеты для Drush:

$ composer install

Далее, для возможности запуска команды drush необходимо (по аналогии с composer) установить соответствующую переменную окружения — главный исполняемый сценарий, реализующий команду drush находится в ~/bin/drush-8.x/. Это файл drush. Соответствующая строка, которую для этого нужно добавить в файл ~/.bashrc:

export PATH =”$HOME/bin/drush-8.x/:$PATH”

Теперь после перезапуска сеанса пользователя нужно убедиться, что всё работает:

$ drush status

PHP exetuble : /usr/bin/php

PHP configuration : /etc/php/7.2/cli/php.ini

PHP OS : Linux

Drush script : /home/john/bin/drush-8.x/drush.php

Drush version : 8.2.1-dev

Drush configuration :

Drush alias files :

На этом установка Drush 8 для Drupal 7 завершена. В следующей статье описано как работать с этой утилитой

Заключение

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.



2019-03-27T13:13:08
CMS

Установка WordPress в Linux

Одной из самых популярных на сегодняшний день CMS (если не самой популярной) является WordPress. И хотя сами разработчики не определяют её как CMS и изначально она появилась как простая блог-платформа, однако в настоящее время уже «обросла» впечатляющим функционалом как полноценная CMS. При этом своей популярности она обязана в первую очередь своему невероятному удобству и впечатляющему быстродействию. Порог вхождения WordPress действительно очень комфортный. Даже не самый подготовленный пользователь в состоянии построить на WordPress достойный и красивый сайт. Этому также способствует обилие качественных тем и всевозможных плагинов расширения функционала. Сама установка WordPress не представляет собой ничего сложного, в чём можно убедиться в данной статье.

Подготовка и требования к установке

Для своей работы WordPress требует веб-сервер Apache или Nginx, интепретатор PHP (желательно версии 7), а также систему управления базами данных (СУБД) MySQL 5.6 или MariaDB 10 или выше.

Предполагается, что всё программное обеспечение (ПО) для работы веб-окружения установлено и корректно настроено. Также предполагается, что виртуальный хост для работы с WordPress также сконфигурирован.

Также для корректной установки и работы WordPress необходимо удостовериться, что для PHP установлены и активированы следующие расширения: php-mpstring, php-gd, php-mysql, php-curl, php-zip. Опционально можно установить расширения php-fpm, php-xmlrpc, php-soap, php-xml, php-intl, php-cli. Все эти расширения имеют соответствующие пакеты в стандартном репозитории практически любого дистрибутива Linux и устанавливаются одной командой. Например для Ubuntu 18.04:

$ sudo apt install php7.2-fpm php7.2-common php7.2-mbstring php7.2-xmlrpc php7.2-soap php7.2-gd php7.2-xml php7.2-intl php7.2-mysql php7.2-cli php7.2-zip php7.2-curl

Также нужно иметь доступ к серверу MySQL/MariaDB, поскольку необходимо создавать и управлять базами данных (БД). Для установки и работы WordPress необходимо её (БД) создать. Либо следует обратиться к системному администратору MySQL, который предоставит для этой цели учётную запись, а также предоставит необходимые привилегии.

Загрузка и распаковка архива с WordPress

Загрузить архив с актуальной версией WordPress можно с официального сайта сообщества: https://wordpress.org/download. Также можно использовать утилиту wget:

$ wget https://wordpress.org/latest-ru_RU.tar.gz

Здесь «ru_RU» — буквенный код требуемой локализации. Архив будет сохранён в текущем (активном) каталоге. Теперь нужно распаковать загруженный архив в каталог подготовленного виртуального хоста. Каталог с виртуальными хостами конфигурируется настройками Apache. По-умолчанию это обычно /var/www/html/. Но для удобства можно назначить каталог /home. В этом случае каждый пользователь может размещать свои виртуальные хосты в своём домашнем каталоге. Подобная схема используется на веб-хостингах. Пусть для данной установки WordPress используется каталог htdocs, в домашнем каталоге пользователя john. Распаковка архива:

$ tar -xvf latest-ru_RU.tar.gz -C /home/john/htdocs/

В результате содержимое архива распакуется в каталог wordpress и полный путь виртуального хоста будет /home/john/htdocs/wordpress/. При желании можно переименовать:

$ mv /home/john/htdocs/wordpress /home/john/htdocs/wp-site

Или используя сокращённую запись домашнего каталога:

$ mv ~/htdocs/wordpress ~/htdocs/wp-site

Эти команды также справедливы, если используется доступ к удалённому серверу по SSH. Либо можно воспользоваться FTP-доступом (используя любой доступный FTP-клиент) для закачки содержимого архива в каталог виртуального хоста на удалённой системе. Теперь можно переходить к следующему этапу — подготовка БД.

Подготовка базы данных

Теперь необходимо создать БД для WordPress. Для этого также подойдёт любой MySQL-клиент, можно использовать веб-интерфейс, предоставляемый phpMyAdmin. Для начала следует авторизоваться на сервере MySQL:

# mysql -u john -p

Создание новой пустой БД с именем wp_site:

mysql> create database wp_site;

На этом этапе важно заметить, что тому пользователю, который должен иметь доступ к БД wp_site необходимо предоставить соответствующие привилегии. Либо этот пользователь заранее должен быть ими наделён, либо для этой цели нужно обращаться к системному администратору, обслуживающему MySQL-сервер в каждом конкретном случае. Сами SQL-запросы, предоставляющие нужные привилегии могут выглядеть так:

mysql> grant all privileges on wp_site.* to "john"@"localhost" identified by "password";

Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

Подготовка БД на этом завершена, теперь можно перейти непосредственно к установке.

Установка WordPress

Перед тем, как запускать скрипт установки WordPress через адресную строку веб-браузера, необходимо, как уже было отмечено, выполнить настройку виртуального хоста. Если используется публичный и/или коммерческий хостинг, то это легко делается в панели управления. Если используется частный сервер, то нужно обратиться к местному системному администратору, чтобы он выполнил соответствующие настройки. Пусть для данной установки сконфигурирован виртуальный хост по адресу http://wp-site. Тогда для запуска установки нужно в любом веб-браузере перейти по этому адресу:

WordPress в процессе установки даёт пояснения по конфигурированию. Далее, после нажатия на кнопку «Вперёд!» необходимо указать реквизиты подключения к БД:

Если все настройки сделаны правильно, то WordPress уведомит об этом и пригласит запустить установку:



Также на одном из этапов установки необходимо указать название сайта, создать учётную запись обслуживания сайта, а также служебный e-mail сайта:



При успешном завершении установки WordPress предложит авторизоваться на свежеустановленном

сайте, после чего перенаправит пользователя-администратора на страницу панели администрирования WordPress:

Заключение

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.



2019-03-27T11:50:22
CMS

Настройка Bolt CMS

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

Структура папок Bolt CMS

Для начала рассмотрим распакованный дистрибутив последней версии Bolt CMS. В корне проект находится следующие папка:

  1. App – именно здесь находится ядро Bolt CMS и все настройки, кеш, логи и так далее;
  2. Files – здесь будут лежат файлы, которые вы загрузите для страниц вашего сайта;
  3. Theme – здесь находятся темы оформления сайта, которые можно поменять;
  4. 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 – это настройки таксономии. Таксономия – это способ иерархической организации страниц сайта. Проще говоря, это категории и подкатегории каталога статей, теги и так далее. Очень гибко можно связать с типами контента и таким образом делать каталоги с очень разветвленной структурой.

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

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

Так что смотрите, читайте, переводите. Ну а в следующей статье я рассмотрю очень интересный вопрос – типы контента, какие поля  есть и как добиться вывода их в админке.



2019-03-23T20:41:45
CMS