Eeclub.ru Информация

Об ExpressionEngine CMS

ExpressionEngine - это система управления сайтом, которая зарекомендовала себя в качестве гибкой и настраиваемой CMS. Гибкой - потому, что одну поставленную задачу можно выполнитель несколькими вариантами, а настраиваемой - потому, что ExpressionEngine предоставляет удобную работу с шаблонами, которые никак не затрагивают системные файлы движка и являются абсолютно независимыми, что позволяет встроить систему в любой дизайн.

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

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

Система широко распространена за рубежом. На данной CMS построено огромное количество многофункциональных сайтов, сайтов-визиток, блогов, интернет-магазинов. Все это можно посмотреть на официальном сайте, а также в каталоге сайтов на eeclub.ru (представлено много русскоязычных сайтов).

ExpressionEngine довольно активно распространяется в России благодаря сообществу eeclub.ru, на котором доступна документация на русском языке, переведенные файлы локализации, а также адаптированные под рунет модули, плагины и расширения.

Система платная. Стоимость персональной лицензии составляет $99, коммерческой – $249,95. Но можно использовать ExpressionEngine Core – бесплатную версию для персонального некоммерческого использования. Она имеет несколько ограниченную функциональность (нет пользовательских профилей, нет возможности использовать дополнительные модули и пр.), которой, впрочем, вполне достаточно для личного сайта. Посмотреть обзор возможностей персональной версии.

Требования:
10 Мб свободного дискового пространства,
Версия Apache 1.3.0 и выше
Версия MySQL 4.1 и выше
Версия PHP 5.1.6 и выше (для EE1 - PHP 4.1 и выше)
Для сжатия картинок должны присутствовать GD или ImageMagick или NetPBM.
Установка ExpressionEngine происходит в полуавтоматическом режиме, то есть вам всего лишь нужно создать чистую базу данных, далее указать это в настройках.

Процесс установки ExpressionEngine

Теперь хотелось бы пройтись по разделам панели администратора.

Главная страница панели

Главная страница панели настраиваема, в настройках можно выбрать, какие элементы будут показываться, какие нет. Доступны следующие поля: последние статьи, последние комментарии, статистика, блокнот, новости EllisLab, поиск пользователей, последние зарегистрированные участники.

Страница добавления новостей

Здесь мы видим поля. Все поля настраиваемы, их количество не ограниченно. Возможные варианты полей: text area, text input, drop down list. Панель добавления новостей тоже настраивается как угодно, можно отключить ненужные вкладки. По-умолчанию присутствуют вкладки: дата (установка даты выхода статьи, дата истечения и дата истечения комментариев), категория/раздел, опции (установка статуса, разрешение комментариев, закрепление статьи). Также в панель можно прикрутить WYSIWYG редактор.

Добавление новостей на первый взгляд может показаться странным, но это лишь на первый взгляд, далее мы можем заметить удобность и продуманность добавления новостей в ExpressionEngine. Есть конечно же поле Title (название), далее идут поля summary и body. Теперь, чтобы нам создать новость со вступлением достаточно написать вступление в поле summary, а продолжение в поле body. Тем самым, при нехитрой манипуляции в шаблоне мы можем получить, допустим на главной странице, ссылку «Далее» под каждой новостью, которая приведет нас к полной новости. О нехитрых манипуляциях поговорим чуть позже.

Страница редактирования

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

Веблог - это как сайт в сайте. То есть можно создать неограниченное количество веблогов, у каждого будут свои категории, свои статусы новостей, свои настраиваемые поля. Следовательно на одном сайте, вы можете сделать и блог и каталог и даже магазин.
Статусы. По-умолчанию идет статус «открыто», но статье можно присвоить и другой статус. Можно воздавать неограниченное количество статусов. Одна из прелестей статусов – это гибкость. Например, я могу создать статью с определенным статусом и она будет публиковаться в определенном месте сайта и к ней будут иметь доступ определенная группа пользователей.
Поля (Custom Entry Fields). Допусти, вам нужно создать сайт с музыкой. Основными данными будут являться: Качество, Лейбл, Откуда скачать, Пароль на архив, Размер и прочие. Это легко сделать и, как я уже говорил, поле можно сделать и выпадающим список и текстовым полем и строкой. Также, можно даже прописать некоторые из этих данных в заголовок новости/статьи (это уже делается в шаблонах).

Следующий раздел Шаблоны/Templates

Для ExpressionEngine не существует большого количества бесплатных шаблонов, как, скажем, для DLE или Wordpress. Дело в том, что любой шаблон, будь это template monster или какой-либо другой, доступный для скачивания, можно приспособить под данный движок. Суть такова, что, зачем создавать шаблоны специально для ExpressionEngine, если шаблонов и так навалом.

Здесь предоставляются неограниченные возможности. Мы можем создать сайт абсолютно любого дизайна!

EE использует свои переменные (variables), которые будут понятны даже начинающему веб-разработчику (для этого не нужны знания в PHP).
Давайте вернемся к «нехитрым манипуляциям», о которых я обещал рассказать вам в разделе добавления новостей. Мы хотели сделать так, чтобы на главной странице под новостью было слово «Далее», если присутствует продолжение.


В шаблоне index (он есть по-умолчанию) в определенном месте мы пишем

{exp:weblog:entries weblog="site"} {title}<br/> {summary} 
{if body 
!=""<a href="ссылка на страницу полной новости"ДАЛЕЕ... </a{/if} 
{
/exp:weblog:entries} 

А теперь немного поясню, что тут творится.

{weblog="site"} – это один из наших веблогов 
{title} – название статиь 
{summary} – вступление 
{if body 
!=""}– а тут проверка
которая гласит «если поле body заполненото показываем ссылку»


Соответственно, если оно не заполнено, то ничего не показывается.

Дело в том, что на этих

{if} 

  построено очень многое, например

{if allow_comments} <a href="{url_title_path="site/comments"}"
{comment_total} комментариев</a{/if} 

Означает, если разрешены комментарии, то мы видим ссылку на комментарии и количество комментариев. Еще хотелось бы сказать, что можно вставлять шаблон в шаблон, можно разрешить использование PHP в шаблоне. Можно сохранять шаблоны на сервере и работать с ними через FTP. Как правило путь в адресной строке выглядит как www.ваш_сайт.ру/группа_шаблонов/шаблон.

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

{if} 
можно показать содержимое определенное группе пользователей.
{if member_group == 4}{exp:weblog:entries weblog="site" status=”my”} 

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

Возвращаемся к панели администратора.
Далее идет панель Communicate – для рассылки сообщений

Modules – предустановленные модули, а также те, которые вы устанавливаете в ходе работы

My Account – ваши личные настройки

Admin – панель администрирования с широчайшими настроками

Дополнения / Add-ons
Движок ExpressionEngine был бы обычным движком, если бы его возможности не расширялись за счет дополнительных модулей, плагинов и расширений.
При создании сайта можно использовать те модули, которые необходимы.
Для блога активируем модуль Wiki.
Для магазина активируем модуль SimpleCommerce, позволяющий работать с платежной системой PayPal.
Для комьюнити используем модуль Discussion Forum, правда его придется купить отдельно, стоимость его составляет 49.99$.

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

Безопасность
Система защиты от спамеров или хакеров тоже на высоте. Можно установить числа раз, которые можно загружать страницу; количество неверно подобранных паролей, после которго пользователь блокируется. В системе комментариев присутствуют такие возможности как captcha, без которой не обходится не один уважающий себя сайт. Защита от повторного комментирования, блокировка по IP адресу, блокировка стоп-слов.

Работа с изображениями
ЕЕ поддерживает основные протоколы работы с изабражениями: Image Magick, GD и NetPBM. В стандартной комплектации персональной версии идет модуль галереи. Можно создавать неограниченное количество категорий, сортировка по разным параметрам, водяные знаки, массовое добавление изображений, изменение размеров – это лишь малая часть возможностей.

Быстродействие
ExpressionEngine считается достаточно быстрым CMS. Для ускорения работы движка, а также для уменьшения нагрузки на сервер, в ExpressionEngine существует кэширование (SQL запросов, шаблонов, переменных), а также возможность отключать те функции, которые не нужны, а потребляют ресурсы.

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

Разрешается копировать, распространять и/или изменять этот документ согласно терминологии Лицензии GNU.

© 2010 Copyright Eeclub.ru. All Rights Reserved. ExpressionEngine® are registered trademarks of EllisLab, Inc.