Joomla - Что такое расширения и с чем их едят

Joomla - Что такое расширения и с чем их едят

Одно из основных отличий любой cms от обычного сайта, это ее расширяемость за счет установки дополнительных модулей, плагинов, расширений и joomla не исключение. Именно о расширениях для joomla и пойдет речь в данной статье.
У каждой cms к расширениям свой подход, у joomla они делаяться на 3 типа: Компоненты, модули и плагины. Так же, хоть и не совсем верно к расширениям можно отнести и шаблоны. Каждый из этих типов имеет определенное назначение и разметаться разный уровень навыков для из создания.

Шаблоны

Как я писал парой строк выше официально шаблоны не относятся к расширениям, но не упоминать о них я не мог, ведь шаблон это чуть ли не первое что устанавливают на сайт. Шаблоны бывают, клубные - изготавливаемые различными студиями для свободной продажи как можно большему числу людей, и авторские - изготавливаемые по каждый сайт индивидуально. Освоенное отличие между ними в настраиваемости, если в автором шаблоне можно и вовсе не делать ни каких настроек, то в клубном дабы удовлетворить максимальное число людей приходиться делать целую кучу настроек, от чего он получается очень тяжелом, особенно когда надо поменять каркас.

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

Вопреки расхожему мнению, с созданием шаблона справиться даже новичок. Все что нужно знать это основы html, css и php — на уровне простого написания уловий типа если а = 1 то выводить блок, а так же умение "читать код". Именно с создания шаблонов стоит начинать, если вы подумываете о работе вебмастера. Что до самого процесса создания, то он уже 100 раз описывался в сети, от себе добавлю лишь несколько вещей.

  1. Если вы начинающий начните с создания html макета, так вам будет проще его натягивать на движок.
  2. Советую читать текстовые руководства ибо просмотр видео уроков вас будет только ограничивать и максимум что даст, это умение делать копии шаблона с другой цветовой гаммой.
  3. Если вы начинающий верстальщик, то при верстке для себя лучше не использовать фреймворки типа bootstrap или uikit, так вы получите куда больше знаний и поймете принципы работы html css и js
  4. Не неотъемлемая часть шаблонов joomla это переопределенные макеты компоеннтов и модулей, так ознакомиться с этой темой лучше заранее.
Памятка
Не стоит править вывод компонента прямотоком в его файлах, переопределяйте макет и правте там, в противном случае при первом же обновлении все слетит. То же относиться и стандартным шаблонам типа protostar

Модули

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

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

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

За создание собственных модулей стоит приниматься, только после освоения шаблонов и помимо задания по верстке вам понадобиться базовые знания php sql и api joomla. Не плохую документацию можно найти на официальном сайте .

Плагины

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

Ни что так не подходит к понятию расширений как плагины, основная задача плагинов в joomla это дополнять и изменять различные функции. Плагины содержат в себе php функции, которые выполняются в определенных момент (triger / event), причем тригеры могут быть как самой joomla так и отдельно взятого компонента. Целей, задач для которых используются плагины настолько много что перечислят их всех нет смысла, тут может быть и банальная установка canonical, так полная замена функций модели компонента.

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

Памятка
Каждый плагин утяжеляет ваш сайт, поэтому лучше подумать дважды, а стоит ли его ставить.

Компоненты

Компоненты joomla самые объемные, как по функционалу так и по нагрузке расширения для joomla, оно и понятно ведь на их плечах лежит самая сложная задача расширить возможности движка, который по правде говоря скучен в базовой комплекции. Цели и задачи для компонента могут разные, это может создание каталога с фильтрами и дополнительными полями, может быть и простое добавления комментариев. Именно благодаря компонентам на joomla можно сделать сайт любой сложности, без них все что могла бы joomla это сайт-визитка, да и то в самом простейшем варианте. По целям и задачам компоненты можно делить на множество категорий, тут вам будут и cck(Content Construction Kit ), компоненты для общения (комментарии, личные сообщения, форумы, формы обратной связи), различные компоненты для медия (галереи, альбомы и прочие) и т. д. По мимо категорий компоненты можно разделить на платные и бесплатные, чаще отличаются они возможностями и функциями "в коробке"(базовая комплектация) и если платный компонент чаще всего делается по принципу поставил и работает, то бесплатные чаще всего приходиться дорабатывать или расширять за счет плагинов, причем не редко платный, платные компоненты частенько бывают скупы на возможность расширения.

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

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

Памятка
Пересозданием своего компонента задайте себе вопрос: "А оно вообще мне надо?"

Создания компонента дело очень не простое и уровень знаний необходимых для этого куда выше чем с другими расширениями, тут вам не только правильно код написать надо, но и всю логику придумать, да и о будущих пользователях не забывать. А самое главное создание компонента отнимает кучу времени, но зато после создания своего первого компонента вы поймете, что люди считающие что на joomla нельзя что-то сделать сильно заблуждаются. Из подручных средств для создания компонента вам понадобиться: Google и официальный мануал (рекомендую на английском языке). Если официального мануала вам мало, то ваш уровень знаний пока еще слишком мал для создания компонента и вам стоит еще подучиться.


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

Раздавать бесплатно ломанный windows - это хобби.
Создавать варезы для сайтов - это бизнес.

Игорь «Septdir» Бердичевский