Различия между компонентом и модулем
(3 Голосов)

Довольно часто на форумах новые пользователи CMS Joomla задаются вопросом, в чем же состоит разница понятий «Модуль» и «Компонент». Чтобы лучше понять архитектуру

Joomla нужно получше разобраться с этими отличиями.

Итак, в чем де разница между ними. Все очень просто: модуль имеет достаточно простое строение и может появиться на любой странице. Компонент устроен сложнее и загружается он только на собственную страницу. Такой ответ просто и без изысков объясняет разницу и может удовлетворить простое любопытство. Если же кому-либо хочется узнать обо всем подробнее, то эта статья для него.

Начнем мы ее с описания, как CMS Joomla загружает страницы. При заходе кого-либо на ваш сайт, запускается файл из католога Joomla -  index.php.  Он загружает разные классы и другие части кода для работы системы. Потом Joomla начинает искать каталог текущего шаблона и делает попытку загрузки index.php оттуда. Таким образом, файл  index.php содержится в корневом каталоге, а также каталоге шаблона, при этом корневой  index.php загружает шаблонный.  Последний выглядит как типичный  HTML файл и в нем находится строка , приостанавливающая запись HTML строк и включает код из mainbody.php, загружающий один компонент. Обозначает это, что каждая страница Joomla загружает компонент и если эту строку убрать, то этого не будет и ваш сайт потеряет большую часть своей функциональности. Joomla, по умолчанию, будет загружать компонент, который сопоставлен с первым пунктом меню. Чаще всего, это это пункт Home указывающий на компонент и он содержит ссылки на новостные статьи. Если вы кликните ссылку, то загрузится компонент ‘content’ и статья.

Также  к mainbody.php в шаблоне содержатся вызовы  таких функций, как например mosLoadModules(‘left’);. Она загружает все прикрепленные к данному компоненту модули в закрепленные за ними по умолчанию части экрана. После того, как  конфигурирование модуля состоялось, в  бэкенде появится список выбора, который позволяет прикрепить данный модуль к каким-либо компонентам. Чтобы загрузить  модули  во все позиции шаблоны не требуются, но они понадобятся для загрузки хотя бы одного модуля, пока  вы сами не захотите прописать его расположение.

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

При нажатии на пункт Manage Modules появляется другой список, который предоставляет опции показа или скрытия, позиционирования и расположения. Как правило, этот список, за счет пользовательских модулей, бывает длиннее первого. Эти модули содержаться в базе данных, как и статьи, а не в папке modules. Больше ничем они от других модулей особым не отличаются.

Все модули имеют свои особые параметры, и это дает возможность администраторам сайтов изменять настройки модуля, не создавая комплексного интерфейса. Так, если разработчик желает дать администратору возможность менять фон модуля,то он просто добавляет соответствующий параметр в менеджмент этого модуля. Тогда администратор кликнет на заголовок модуля и, к примеру, сможет ввести в табличке Parameters значение backgroundcolor = green.

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

 

 

 

 

 

Главная Статьи Различия между компонентом и модулем