Итак, по каким-либо причинам вы решили приступить к разработке своего собственного компонента: то ли вас не устраивает действующая функциональность имеющегося решения, то ли нужное вам решения ещё вообще не реализовано в виде Joomla! расширения - это всё весомые причины для раздумий над разработкой собственного компонента. Допустим, вы приняли решение разрабатывать, теперь желательно более детально разобраться в деталях этого процесса и предметной области, касающейся необходимого вам решения.
А что такое, собственно, компонент Joomla!?
Компонент в Joomla! - это один из типов расширений, который играет ключевую роль в обработке данных пользователя и предоставляет основную часть для взаимодействия пользователя и CMS. Если рассматривать сайт, то компонентом будет основная часть для контента, как правило - это центральная часть страницы (но хочу заметить, что это утверждение не всегда справедливо, к примеру, компонент Banners, который входит в набор базовой функциональности Joomla! может отображаться внутри страницы либо в любом другом отведенном для него месте).
Каждый компонент в Joomla! имеет 2 точки входа (откуда начинает исполняться код, ответственный за логику компонента):
- фронтенд (расположена в папке components) - используется для работы с компонентом из сайта;
- административная (в папке administrator/components) - для работы с компонентом из панели администрирования.
Каждая из точек входа расположена в вышеописанных директориях в подпапке с именем com_<имя компонента>, файл <имя компонента>.php.
Важно: все файлы, которые вы создаёте надо сохранять в кодировке UTF-8 withoutBOM, потому как ядро Joomla! использует именно эту кодировку!
Любой установленный и зарегистрированный компонент можно запустить, набрав в адресной строке браузера:
- сайт: <имя сайта>/index.php?option=com_<имя компонента>;
- админ панель: <имя сайта>/administrator/index.php?option=com_<имя компонента>.
Структуру каталогов и файлов компонента можно увидеть, посмотрев уже установленные компоненты. Также в отдельной статье я покажу какая должна быть структура файлов и каталогов компонента.
Успехов в бизнесе и разработке и, как сказал Винни Пух, желаю счастья в личной жизни!