В этой статье я расскажу, как изготовить свой собственный модуль для CMS Joomla ver.1.0.x.
Данная статья предназначена для людей, которые хотя бы отчасти знакомы с языком программирования PHP, html и xml разметкой.
Модуль, о котором пойдет речь, имеет самое простое функциональное назначение и очень простую структуру, но основываясь на самой методике изготовления, можно изготовить достаточно сложные модули. Все будет зависеть только от Ваших познаний в области программирования на языке PHP и фантазии.
Я уже рассказывал об основных отличиях компонентов и модулей, а определение понятия «модуль» Вы можете посмотреть в глоссарии Joomla на этом сайте. Теперь давайте рассмотрим, из чего состоит и как строится классический модуль CMS Joomla. Хочу подчеркнуть — именно классический! Модуль Joomla, это обычная программа которая может содержать все доступные скриптовому языку PHP средства и методы, вплоть до манипулирования системными переменными сервера и обращения к другим интернет-ресурсам. Однако все это выходит далеко за рамки функционального предназначения модулей CMS Joomla, а значит, рассматривать мы это не будем.
Из чего состоит модуль CMS Joomla.
В минимальном составе, это два файла — mod_названиемодуля.xml и mod_названиемодуля.php, которые по умолчанию располагаются в папке «modules» на сервере.
Файл mod_названиемодуля.xml, это многофункциональный файл, который содержит:
общие сведения о модуле — название, описание, авторство, версию и т.п.;
сведения для инсталляции/деинсталляции модуля — список файлов и пути их размещения;
список параметров для конфигурирования модуля.
Файл mod_названиемодуля.php содержит программный код модуля.
Что такое программный код и как пишутся программы (на PHP в том числе), я рассказывать не буду, сами понимаете почему.
Хочу заметить, что создатели CMS Joomla разработали целые библиотеки классов, которые облегчают изготовление, как модулей, так и любых других расширений для Joomla. Эти библиотеки называются Joomla API. К сожалению, я не встречал полную документацию по API Joomla. Существуют лишь разрозненные или плохо сгруппированные описания. Могу посоветовать посмотреть здесь http://www.php.joomlademo.de или здесь http://help.joomla.org/api/, либо воспользоваться поиском google.
Если Вы обладаете иной информацией, прошу высказаться в комментариях к статье.
При выполнении кода модуля, все, что выводится с помощью оператора echo или аналогичных ему, будет выведено на страницу сайта в теле модуля.
Чтобы модуль стал доступен, он должен быть инсталлирован в CMS Joomla.
Инсталляционный файл модуля представляет собой обычный архив в который помещены все файлы модуля. Наиболее распространен архиватор zip, да и сама Joomla очень хорошо работает с такими архивами, поэтому на нем и остановимся.
Итак, чтобы изготовить и установить свой модуль на CMS Joomla, необходимо:
Изготовить как минимум один программный файл модуля.
Создать xml файл и прописать в нем все необходимые данные.
Поместить оба файла в архив zip.
Инсталлировать полученный модуль в Joomla.
Все!
Как видите, ничего сложного процесс изготовление модуля под CMS Joomla не представляет! Однако остается вопрос, что же должны содержать в себе файлы модуля? Давайте разберемся с этим более подробно.
Структура и содержимое файлов модуля Joomla.
В данной статье для примера взят модуль mod_awmnews. Вы можте его найти на нашем сайте в разделе «Модули Joomla». Скачайте его и инсталлируйте на свой локальный тестовый сайт. Затем зайдите на диск локального сервера и перейдите в папку сайта modules. Там Вы найдете два файла — mod_awmnews.xml и mod_awmnews.php. Откройте их с помощью любого текстового редактора, лучше с подсветкой PHP синтаксиса. Я посоветую Zend Development Environment, или что-нибудь попроще, например, EditPlus.
Итак, начнем с XML файла.
XML файл модуля AWM_news — mod_awmnews.xml.
xml version=»1.0″ encoding=»windows-1251″ ?> — заголовок документа xml версии 1.0, с набором символов «windows-1251″ — русская таблица windows.
Тег mosinstall является открывающим. Между тегами
Далее, до тега
Если с модулем будут идти дополнительные файлы — JavaScript, CSS таблицы и т.п., их лучше размещать в отдельной папке с именем вашего модуля. Для этого при создании инсталляционного архива создайте папку, к примеру, mymodule, поместите туда дополнительный файл, пусть это будет myjcsript.js и запакуйте эту папку вместе с основными файлами mod_mymodule.xml и mod_mymodule.php.
В xml файле эти файлы прописываются так:
После инсталляции, полный путь к файлу myjcsript.js будет таким:
http://вашсайт.ru/modules/mymodule/myjcsript.js
Обратите внимание! Сам файл mod_mymodule.xml здесь прописывать не надо! Joomla самостоятельно поместит его в папку «modules» на Вашем сайте и сама удалит, при деинсталляции.
— закрывает список файлов.
— здесь указывается, что нужно вывести для редактирования системный параметр определяющий суффикс CSS класса модуля.
— данный параметр служит для вывода в административной части модуля многострочного текстового поля. Запомните имя этого параметра — «sometext». Это имя будет использоваться в дальнейшем.
— закрывает перечень параметров модуля.
— закрывает инфомационные данные модуля.
Итак, с XML файлом разобрались, теперь перейдем к программному файлу модуля.
Теги:
|