Простота, многоязычность и скорость phpComasy
описание CMS phpComasy
В последнее время разработано большое количество систем управления сайтами. Практически каждая система имеет как своих поклонников, так и ярых противников. Связано это, конечно, с предпочтениями отдельных разработчиков и веб-дизайнеров. Не секрет, что некоторые фирмы, которые занимаются исключительно дизайном и разработками сайтов, используют исключительно один или максимум два-три вида CMS. Такая ситуация получается, главным образом, из-за того, что разработка оконченной веб-системы достаточно сложна именно по причине необходимости достаточно хорошо знать возможности конкретной системы управления контентом. Для рассматриваемой системы характерны простота использования и легкость в ее изучении новичком. "Прикрутить" к ней свой дизайн также не составит большого труда. Этот процесс займет не так много времени, как обычно, по той причине, что элементы дизайна системы четко ограничены списком используемых шаблонных переменных. А сам этот список достаточно краток. Также следует заметить, что простейшее управление системой позволяет даже новичку оперировать системой намного проще и быстрей, чем при использовании, например, тех же "монстров" Mambo и Joomla. Легкая инсталляция, небольшой размер, использование стандартных классов PEAR. Я перечислил лишь несколько преимуществ системы, которая фактически позволяет создавать простые сайты.
Рассмотрим более пристально процесс установки системы. Как всегда и получается с бесплатно распространяемыми системами, для начала необходимо скачать саму инсталляционную программу системы. Сделать это можно, посетив раздел Download официального веб-сайта CMS phpComasy. Установка системы на UNIX стандартна и заключается в правильном расположении распакованных файлов и установке для них верных атрибутов. В AltLinux файлы следует располагать в директории /home/var/html и устанавливать на них права 755, а владельцем указать пользователя apache (для первой версии Apache, для второй версии этого веб-сервера имя пользователя веб-файлов следует уточнить в конфигурационном файле веб-сервера /etc/httpd/httpd.conf).
Инсталляция CMS фактически заключается в указании нескольких параметров базы данных, а также путей к директориям и файлам. Для запуска процесса установки необходимо ввести URL веб-директории, в которую уже были распакованы файлы phpComasy. Процесс установки состоит из следующих этапов:
- Настройки подключения к базе данных (database settings). На этом этапе следует учесть, что база данных должна быть создана перед началом инсталляции phpComasy. Подобный выбор оптимален именно с точки зрения простоты и универсальности работы системы. Ведь в зависимости от хостинга, на котором располагаются ваши файлы, вы можете иметь те или иные права на создание баз данных и тому подобные операции. Конечно, оптимальным вариантом является заведение отдельного, причем желательно локального, пользователя MySQL, которому предоставлены все права на доступ к этой базе данных. Также инсталляционная программа позволяет использовать (необязательный) префикс в названии таблиц базы данных используемой CMS, что достаточно удобно в случае выделения нескольким вашим сайтам всего одной базы данных. В случае отсутствия базы или отсутствия к ней доступа для указанного вами пользователя программа установки выдаст соответствующее предупреждение. Таким образом, получается достаточно эффективная процедура проверки работоспособности подключения к базе данных непосредственно в процессе установки системы.
Установка CMS. Настройка параметров базы данных |
- Общие установки сайта (General site settings). Эта форма позволяет установить пути, которые необходимо использовать при работе сайта. В дальнейшем любое из этих значений можно поменять, используя либо веб-интерфейс CMS, либо вручную правя значения в таблице префикс_settings. На этом же этапе указывается тип визуального редактора, который используется по умолчанию. Можно, конечно, вообще не использовать его возможности. Для его полного отключения можно указать значение конфигурационного параметра global_wysiwyg, равное false.
- Настройка языковых параметров (Language settings). Третий этап установки позволяет настроить языковые параметры. Дело в том, что практически все данные, которые вводятся в базу данных CMS физически, привязываются к идентификатору языка. Таким образом, если вы, например, случайно набьете содержание статьи в базе данных этой CMS, а затем измените языки, которые используются системой, то содержание введенной вами языковой версии вашей статьи может быть скрыто. Поэтому к выбору локализации следует подойти очень внимательно и указать действительно те языки, которые будут реально использоваться в работе и при наполнении данными. Стандартная версия phpComasy имеет в своем составе только несколько иностранных языков, в том числе английский, однако локализация не сложна. Поэтому в процессе инсталляции вы сразу можете указать в качестве набора локализаций кода ru и uk, соответственно для русского и украинского языков. Один из используемых системой языков необходимо обозначить используемым по умолчанию. Именно на нем будет показываться стартовая страница вашей CMS.
- Ввод реквизитов администратора сайта — пароля и логина суперпользователя системы.
Одна из самых инновационных идей, которую воплотили разработчики phpComasy, состоит в возможности выполнения так называемой постепенной локализации вашего ресурса. Дело в том, что в большинстве современных систем поддержание локализации последней версии системы обычно ложится на добровольцев. Поэтому порой даже самые известные CMS несколько запаздывают с выпуском последних языковых файлов. Если к выше указанным фактам приложить динамичность выхода новых версий CMS и помножить на количество языковых групп их пользователей, то может нарисоваться крайне неприятная картина. А именно — пользователю иногда придется так или иначе самостоятельно переводить часть интерфейса системы. PhpComasy изначально содержит редактор языковых раскладок, который позволяет упростить процесс перевода интерфейсов сразу на несколько языков. Отличной особенностью системы является возможность добавлять локальные версии фраз постепенно, по мере необходимости. Действительно, к чему локализовать весь административный интерфейс, если контент-писатель отлично понимает не только русский, но и английский язык. Все отсутствующие версии фраз и ключевых слов будут поменяны на созвучные английскому написанию макросы. Например, если вы забыли перевести слово Page на русский язык, то в русском интерфейсе сайта вы будете видеть макрос PAGE_ на месте необходимого слова. Чтобы избавиться от этой неприятности, достаточно добавить в файл локализации ./language/ru.php следующую строку:
DEFINE('_PAGE',"Страница");
После такого действия все PAGE_ в русской версии сайта заменятся на хорошо знакомые "Страницы".
Нелокализованная страница логина |
Для того чтобы зайти в административную часть сайта, укажите в строке адреса вашего браузера на скрипт ./login.php, который находится в корне CMS phpComasy. Система предложит ввести логин и пароль. Административное меню системы состоит из двух частей. В верхней части меню расположены контекстно-зависимые пункты. Например, для разделов сайта там будет находиться ссылка Add page ("Добавить страницу"), а также некоторые другие пункты. В нижней части находятся ссылки, которые открывают доступ к общим возможностям системы, такие как настройка модулей, выбор локализаций, управление категориями и файлами:
- Management — управление всеми возможностями CMS;
- File manager — менеджер файлов;
- My settings — настройка параметров текущего пользователя, например его пароля;
- Logout — выход из административного интерфейса.
Несмотря на несколько внешних модулей, основная функциональность phpComasy состоит в возможности добавлять и редактировать текстовые материалы. Для управления контентом вначале следует создать древовидную структуру разделов. Управление этой структурой выполняется с помощью формы административного меню Management — Manage navigation items. Каждая категория представляется в виде текстового названия на каждом из языков, указанных для использования в настройках CMS. Таким образом, если вы не укажете перевод одной из категорий на определенном языке, то она будет просто недоступна в определенной языковой интерпретации сайта. Навигационные темы, а именно так звучит непосредственный перевод названия категорий в контексте понятий phpComasy, представляют собой не что иное, как многоуровневое дерево. Каждая категория (ветка дерева категорий) может быть помечена как защищенная. В таком случае доступ к ней получат лишь пользователи с определенным уровнем доступа.
Админка и управление категориями |
Весь контент в CMS phpComasy разделен в зависимости от модуля, к которому он относится. Страницы (pages) встроены в систему по умолчанию. Управление ими происходит на уровне добавления новых и редактирования (удаления) старых единиц контента. При этом новую страницу можно вставить "впереди" либо в любой другой позиции относительно всех остальных страниц определенной категории. Таким образом, сайт на основе указанной CMS будет представлять собой многостраничную и многоуровневую структуру. Даже без подключения дополнительных модулей таким образом можно расположить практически любой контент и дать доступ к необходимым файлам.
Однако если вам не походит идеология размещения на одной странице одного материала, можно всегда начать использовать возможности внешних модулей. Подключение дополнительных возможностей phpComasy осуществляется из меню Management — Manage modules — Add or remove modules. В исходной поставке системы доступны следующие основные модули:
- galerie — галереи картинок;
- guestbook — книга отзывов;
- mailform — форма для связи с администрацией сайта;
- news — новостной модуль, позволяющий размещать на одной странице сразу несколько материалов.
Кроме вышеперечисленных модулей в системе есть еще несколько расширений, которые позволяют более эффективно работать с контентом, например фильтровать нежелательные комментарии.
Редактор страниц |
Добавление контента, имеющего отношение как к дополнительным модулям, так и к основным страницам, осуществляется с помощью универсальной формы добавления контента, возможности которой зависят от наличия подключенных модулей. Например, если вы подключили модуль news, то в дальнейшем при создании новой страницы (Add page) вы будете иметь возможность выбрать соответствующий специальный тип (news) для созданных данных. Причем возможности редактирования страницы контекта типа news будут отличаться от возможностей редактирования обычной страницы наличием кнопки Add news entry в режиме ее редактирования.
Конечно, добавление новостей либо других специальных страниц будет осуществляться сразу на нескольких языках, которые указаны в качестве рабочих в настройках системы. Указанный тюнинг CMS по ходу работы выполняется с помощью пункта меню Management — Settings&information — Generel settings. Строка для настройки количественного и качественного состава перечня языков называется Avilable Language(s). В ходе работы системы можно добавлять новые языки, но следует помнить, что привязка контента осуществляется именно к текстовому коду языка. То есть если вы ввели текстовые строки для языка с кодом PL, то дальнейшее удаление этого кода из перечня языков и добавление вместо него BL приведут к потере всего набранного контента. Точнее говоря, необходимо будет вручную откорректировать таблицы базы данных CMS, а именно поля, в которых указан языковой признак.
Управление файлами, которые находятся в системе, выполняется с помощью онлайн-файлменеджера. Таким образом, можно подкорректировать или удалить ненужные картинки, выполнить апдейт расположенных на вашем ресурсе программ или файлов. Все возможности файлового менеджера доступны в административном меню File Manager. К сожалению, в случае удаления контента не производится проверка связанности данных. Иначе говоря, вы запросто можете удалить нужные картинки или файлы, а система вас даже не предупредит об этом.
Использование простейших бесплатных CMS всегда граничит с необходимостью по ходу дела корректировать найденные синтаксические ошибки и выполнять некоторые другие рутинные операции вроде перевода интерфейсов. Однако большая скорость работы системы, простота использования и возможность простого управления многоязычным интерфейсом перекрывают все остальные недостатки. Удачное соединение скорости и простоты делает phpComasy выгодной для использования в качестве движка для простейшего международного веб-представительства вашей фирмы. Наличие встроенных возможностей вроде резервного копирования данных делает систему более надежной, чем простейший редактор контента. Способность к расширяемости с помощью внешних модулей дает вам необходимый функционал за счет как собственных разработок, так и стандартных модулей. А на появление все новых и новых модулей возможностей в phpComasy приходится рассчитывать хотя бы потому, что текущая версия системы это далеко не релиз, а совершенствование системы ведется достаточно бурными темпами.