При разработке любого из расширений для CMS Joomla! всегда возникает вопрос его дальнейшей установки на рабочий проект. Именно для этого необходимо собрать расширение в установочный пакет, что может вызвать затруднения без соответствующего опыта. В CMS Joomla! создание установочного пакета для какого-либо его расширения имеет ряд особенностей, которые подробно рассматриваются в данной статье. Наиболее важные из них: создание файловой структуры расширения, файла манифеста, обновление расширения после установки и др.
Эта статья будет полезна, как начинающим, так и опытным разработчикам, которые занимаются разработкой расширений для Joomla! или ее дополнений. В статье рассматривается большинство вопросов, связанных с процессом создания установочного пакета для всех типов расширений Joomla! с примерами кода.
Макеты в CMS Joomla! – это обычные php файлы, которые выполняют задачу формирования результирующего html кода страницы. Хранятся они всегда в директории tmpl. Для компонентов этот путь выглядит следующим образом:
components/имя_компонента/views/имя_представления/tmpl/имя_макета.php
В модулях путь значительно проще:
modules/имя_модуля/tmpl/имя_макета.php
Как правильно пользоваться макетами и как создавать собственные макеты для представлений компонентов и модулей рассмотрим ниже.
Что главное при разработке сайта на базе готовой CMS системы? Никогда не редактировать файлы ядра! Если внести изменения в ядро, тогда либо следует отказаться от его дальнейшего обновления при выходе новых версий, либо возможны проблемы с измененным функционалом в системных файлах при каждом таком обновлении. Отказавшись от обновлений CMS, сайт рискует быть взломанным злоумышленниками, поскольку обновления не только добавляют новые функциональные возможности, но и исправляют ошибки в существующем коде. Если же обновлять ядро системы, то есть риск переопределения измененных файлов. Это также может вызвать проблемы при дальнейшей поддержке и доработке сайта.
Стандартной задачей при разработке сайта является переопределение вывода какого-либо блока. Но в это же время нельзя изменять системные файлы. Как же при этом изменить вывод? Рассмотрим такую задачу на примере CMS Joomla! и ее системы управления шаблонами.