Давайте разберемся. Модуль или компонент ?
- Подробности
- Создано 07.12.2011 14:50
- Автор: Super User
- Просмотров: 266
В предыдущих статьях мы научились устанавливать локальный сервер на базе Денвера, установили нашу CMS Joomla, и попробовали подключить шаблон и модуль "Кто на сайте", причем не только подключить, но и расположить его там, где изначально ничего не было. Научились читать позиции шаблона, в общем помаленьку изучили систему, но не имеем пока четких понятий о компонентах и модулях. В этой статье речь пойдет именно об этом, т.к. понимание простого может в большинстве случаев исключить сложные ошибки. Понимание этих понятий позволит Вам лучше разобраться в самой структуре CMS.
Можно просто и коротко сформулировать эти два понятия. Модуль может быть установлен на любую страницу сайта, он прост по своей структуре, компонент же загружается в свою, отдельную страницу и как правило устроен гораздо сложнее. Сказать что вроде бы все понятно из вышесказанного, мне кажется слишком громко. Давайте рассмотрим все подробнее, чтобы внести все ясности по нашей сегодняшней теме.
Давайте сначала поймем как Joomla загружает страницы сайта когда на сайт заходит пользователь.
В первую очередь запускается файл index.php из корневой директории сайта. В этот момент загружаются всеразличные классы и прочие коды, которые обеспечивают работоспособность Joomla. Затем система ищет шаблон назначенный по умолчанию, и пробует загрузить index.php шаблона. Вывод : index.php содержится и в корне сайта и в папке с шаблоном, при этом index.php из корня загружает шаблонный фаил.
Фаил index.php из шаблона как правило выглядит как простой, типичный HTML фаил. В файле шаблона, для примера, можно найти такую строчку : <?php include_once('mainbody.php'); ?>. Что делает эта строчка ? Это команда PHP на загрузку одного компонента системы, соответственно каждая страница загружает компонент. Конечно можно убрать эту строчку, но это приведет к тому что сайт потеряет просто кучу функционала, а нам этого не надо. По-умолчанию загружается компонент, который сопоставлен с первым пунктом меню. Обычно это Главная страница или Home, который указывает на компонент системы frontpage. При нажатии на ссылку загрузится компонент content, другие ссылки загружает другие компоненты. Помимо загрузки mainbody.php в файле шаблона находятся вызовы функций mosLoadModules(), для примера напишем mosLoadModules('right'). Это означает что все модули прикрепленные к данному компоненту загружаются в "правую" часть экрана. Изначально экран позиционируется на следующие составляющие части : правая(right), левая(left), верх(top), внутренняя(inset), пользователь1(user1), пользователь2(user2), низ(bottom). После конфигурации модуля, в "бэкенде", появиться список компонентов, позволяющий прикрепить данный модуль к различным компонентам. Для того чтобы загрузить модуля во все позиции сайта шаблоны не нужны вовсе, но они пригодятся нам для загрузки хотя-бы единственного модуля так, чтобы оставить место для меню, пока Вы сами не пропишите его расположение.
Посетителей Вашего сайта может и не волновать в чем разница между компонентом и модулем, в то время как администраторам сайтов просто необходимо четко понимать все нюансы управления этими элементами. Все модули включаются/выключаются в подменю модулей. Зайдите в Менеджер Модулей, появится список модулей, здесь мы можем показать/скрыть модуль, указать позиции, расположение. Здесь же расположены пользовательские модули, только эти модули содержатся в базе данных, как простые статьи, но по сути они ничем не отличаются от других модулей. Стоит заметить, что каждый модуль имеет свои, индивидуальные настройки, это, в свою очередь, позволяет администраторам менять настройки каждого модуля без создания комплексного интерфейса. К примеру, мы хотим поменять фон модуля. Достаточно зайти в менеджер модуля (просто кликнув на название модуля) и в табличке Parameters прописать, например строчку backgroundcolor=blue.
Разработка административной части компонента зачастую убивает очень много времени, требует необходимых знаний и языков программирования, но результат как правило, простой, легко управляемый интерфейс. Больше об административной части компонента можно изучить в учебнике Daily Message Component Tutorial.
Разработчиками CMS Joomla, а также сторонними разработчиками, выпущено множество различных компонентов и модулей, которые с легкостью интегрируются в оболочку, имеют гибкие настройки и вообще тут каждый старается друг друга переплюнуть в этих вопросах. Поэтому, думаю, дело до написания собственных модулей, и уж тем более компонентов, у Вас не дойдет. Чем пользоваться Вам ? Выбор остается за Вами, набор функций, возможности компонента или модуля, вот те критерии которые учитывают при установке тех или иных компонентов или модулей. В следующих материалах я постараюсь описать Вам некоторые из распространенных и популярных компонентов и модулей, но выбор остается за Вами.










