Добрый день, дорогие читатели! Как и обещал, этим постом начинаю цикл статей по пошаговому созданию качественного блога на Joomla. Почему именно Joomla? В одной из прошлых статей я писал свои размышления по поводу существующих CMS (систем управления содержимым сайта) и вывод из той статьи: Joomla – отличная, очень гибкая (особенно для разработки новых расширений) система с хорошо продуманной архитектурой, Wordpress – лёгкий, простой и быстрый в освоении движок, идеальный для блогов и новостных порталов.
Так почему же для блога я всё равно выбираю Joomla? – всё дело в том, что постепенно из блога я собираюсь создавать информационный портал с множеством нестандартного функционала. Мне важна надёжность и стабильность системы, чтобы я не отвлекался на гору мелких проблем. Именно такой системой, по моему личному мнению, является Joomla 2.5. Мне импонирует MVC паттерн, продуманная реализация и взаимодействие компонентов, модулей и плагинов.
«Хорошо, допустим, убедил» – скажите вы. Что дальше?
Что такое компонент в Джумла?
Говоря простым языком, компонент – это приложение для Джумлы, которое выводит основную часть конкретной страницы. То есть в 99% случаев компонент выводится в самой большой (широкой) колонке сайта. А в дополнительных колонках (более узких) выводятся модули Joomla.
Компонентом может быть:
- PHP приложение для создания интернет-магазина
- PHP приложение для создания галереи фотографий
- PHP приложение для создания блога
- PHP приложение для создания социальной сети
- И тд.
То есть другими словами компонент – это программа, которая делает из Джумла тот тип сайта, который нам нужен. Одновременно на Joomla можно устанавливать и использовать бесконечное множество компонентов, но на 1 странице может быть подключён только 1 компонент + сколько угодно плагинов и модулей. В этом принципиальный смысл архитектуры Джумла.
То есть на этой странице у нас интернет-магазин, на любой другой блог, а на третьей целая социальная сеть. Возможно, кому-то сейчас покажется, что система Joomla ограничена: «А что если я хочу показать в социальной сети анонсы статей из блога?» - спросите вы. Нет проблем! Для этого в любом месте сайта, вы можете подключить модуль, который делает то, что вам нужно. Модули можно подключать даже внутри компонентов. Таким образом, на одной странице визуально может быть и интернет-магазин, и блог, но технически, мы как разработчики понимаем, что что-то из этого основной компонент, а что-то – просто второстепенный модуль или даже плагин.
Выбор компонента
Теперь нам предстоит выбрать компонент блога для нашего сайта на Joomla. Их достаточно много, чтобы вы знали из чего выбирать, я перечислю самые популярные:
- EasyBlog (платный)
- K2 – на мой взгляд, самый популярный компонент для информационных сайтов на Джумла, имеет множество готовых расширений (платных и бесплатных).
- Cobalt – помимо прочих особенностей, основной упор сделан на скорость загрузки страниц и производительность в целом. Добавлять новые статьи (записи, материалы) можно только с лицевой части вашего сайта (с front-end).
- Seblod - возможно, самый гибкий и перспективный конструктор контента из всех существующих. Наиболее полная интеграция со стандартными таблицами базы данных Джумлы, не рекомендуется тестировать на рабочих сайтах. Изначально упор делался на разработчиков, а не на конечного пользователя.
Во все (или почти все) вышеперечисленные компоненты стандартно входят такие распространённые функции как: комментарии, рейтинги, теги и тд.
com_content
Всё это хорошо, вот только я ещё не успел вам рассказать, что Джумла сама по себе имеет встроенный компонент для блога/новостей – com_content или можете называть его просто "Материалы". По сути, этот компонент – и есть сама Джумла. Им мало кто пользуется, я думаю, ввиду популярности других, вышеперечисленных компонентов. Но это не единственная причина, в com_content включено минимум наворотов и возможностей:
- Отсутствуют комментарии;
- Отсутствуют теги/метки (в Joomla 3 добавлены);
- Очень некрасивый и неудобный рейтинг;
- И др.
Однако есть большой противовес этим недостаткам – все недостающие функции вы можете бесплатно скачать и добавить! Теперь, когда вы знаете, как обстоят дела, возникает вопрос: «Установить К2, EasyBlog, Cobalt или любой другой конструктор контента (материалов), либо скачать все недостающие функции по отдельности и использовать стандартный com_content?»
Лично я для себя решил, что использовать com_content лучше (кто не знает, он изображён на рисунке выше), и вот почему:
1. С com_content интегрируются абсолютно все расширения Joomla, ведь это основа.
2. При создании нестандартного функционала (когда готовых решений вообще нет), я считаю, что лучше написать своё собственное расширение под конкретную задачу, чем пользоваться конструктором контента, типа Seblod. Это прибавит опыта в разработке + вы не тратите время, разбираясь в чужом компоненте.
При нестандартных проектах, вам всё равно придётся начать писать (или заказывать разработку) расширения. Поэтому, несмотря на гибкость конструкторов контента (Cobalt, Seblod и др.), скачивать заведомо тяжёлую или сложную в освоении систему я не вижу смысла.
Дополнительный функционал
Надеюсь, я вас убедил, что стоит попробовать всё сделать на стандартном com_content. Как минимум это отличная практика, с которой придёт понимание основ Джумла. Но что за современный блог без комментариев, тегов и рейтинга статей? Кроме Site on!, конечно :)
Пришло время сходить по магазинам (в официальный каталог Joomla) и приобрести себе всех этих модных фишек. К нашему счастью, всё что нам нужно, можно достать бесплатно. Ища среди почти 8000 актуальных расширений, я выбрал следующие:
- JComments - популярное расширение для создания комментариев от российских разработчиков;
- Плагин Extra Vote для красивого и удобного Ajax рейтинга + модуль Top ExtraVote для вывода оценок пользователей в правой колонке;
- TorTags – для создания тегов (меток);
Дизайн
Определившись с функционалом и концепцией сайта в целом, пора решать вопрос с дизайном. Вы можете поручить это профессионалу, нарисовать самим, или сделать по образу и подобию существующего сайта.
Так или иначе, вам будет нужно решить, будет ли сайт иметь мобильную версию или адаптивную вёрстку, либо вообще не заморачиваться по этому поводу и отображать всегда одну и туже версию сайта. В случае адаптивной вёрстки или мобильной версии, вам придётся предусмотреть дизайн вашего сайта ещё и для устройств с маленьким разрешением экранов.
Создание шаблона
Установив нужные расширения и имея перед собой .psd макет сайта, можно приступать к созданию шаблона Joomla, то есть вёрстке макета сайта. Этот процесс уже был подробно описан, кто ещё не читал, прошу по ссылке выше. Сразу предупреждаю, что создание любого (не только на Джумле) более менее качественного сайта требует от вас хотя бы средних навыков HTML + CSS, а также минимальных знаний PHP. Кто говорит иначе – подразумевает создание сайта «лишь бы был».