Joomla портал
seo seo Subscribe
seo
seo
seo

В этой статье я расскажу, как изготовить свой собственный модуль для 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 type=»module» version=»1.0.0″> — говорит о том, что данный xml файл является документом для инсталляции модуля CMS Joomla, а версия механизма инсталляции — 1.0.0.
Тег mosinstall является открывающим. Между тегами <mosinstall …> </mosinstall> помещается вся информация о модуле.
Далее, до тега <files> идут информационные поля, которые будут отображены в таблице «Установленные модули» на странице «Установка/удаление модулей».

<name>AWM_news</name> — наименование модуля. Используется еще как заголовок модуля в перечне модулей сайта.

<author>Soloviev Ivan</author> — поле автора модуля.

<creationDate>06.11.2007</creationDate> — дата создания модуля.

<copyright>ArtWebMaster Soloviev Ivan. All rights reserved.</copyright> — сведения о копирайтинге.

<license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license> — сведения о том, с какой лицензией выпущен модуль.

<authorEmail>artwebmaster @ hotbox.ru</authorEmail> — Email автора модуля.

<authorUrl>http://artwebmaster.ru</authorUrl> — сайт автора.

<version>1.0.0 RE</version> — версия модуля.

<description>Это модуль вывода какого либо текста. Может быть использован для отображения новости, предложения, акции, картинки и т.п.</description> — краткое описание модуля. Выводится в ходе инсталляции и на странице изменения параметров модуля в поле «Описание:».

<files> — открывает список файлов относящихся к этому модулю.

<filename module=» mod_ awmnews»> mod_awmnews.php</filename> — эта конструкция говорит о том, что файл mod_awmnews.php входит в состав модуля mod_awmnews и Joomla должна его разместить (инсталлировать) в папке «modules». Эта информация используется также и для деинсталляции файлов модуля.
Если с модулем будут идти дополнительные файлы — JavaScript, CSS таблицы и т.п., их лучше размещать в отдельной папке с именем вашего модуля. Для этого при создании инсталляционного архива создайте папку, к примеру, mymodule, поместите туда дополнительный файл, пусть это будет myjcsript.js и запакуйте эту папку вместе с основными файлами mod_mymodule.xml и mod_mymodule.php.
В xml файле эти файлы прописываются так:

<filename module=»mod_mymodule»>mod_mymodule.php</filename>
<filename module=»mod_mymodule»>mymodule/myjcsript.js</filename>

После инсталляции, полный путь к файлу myjcsript.js будет таким:

http://вашсайт.ru/modules/mymodule/myjcsript.js

Обратите внимание! Сам файл mod_mymodule.xml здесь прописывать не надо! Joomla самостоятельно поместит его в папку «modules» на Вашем сайте и сама удалит, при деинсталляции.

</files> — закрывает список файлов.

<params> — отрывает перечень настраиваемых параметров модуля. О том, какие значения они могут принимать и как их правильно прописать читайте в отдельной статье «Параметры XML файла модуля Joomla».

<param name=»moduleclass_sfx» type=»text» default=»" label=»CSS-cуффикс класса модуля» description=»Суффикс, который будет использован в описании класса (table.moduletable) таблицы стилей (CSS) модуля. Это позволяет использовать индивидуальный стиль модуля.» /> — здесь указывается, что нужно вывести для редактирования системный параметр определяющий суффикс CSS класса модуля.

<param name=»sometext» type=»textarea» cols=»80″ rows=»5″ default=»" label=»Текст» description=»Обычный текст или текст в формате HTML, который будет выводиться в блоке модуля.» /> — данный параметр служит для вывода в административной части модуля многострочного текстового поля. Запомните имя этого параметра — «sometext». Это имя будет использоваться в дальнейшем.

</params> — закрывает перечень параметров модуля.

</mosinstall> — закрывает инфомационные данные модуля.

Итак, с XML файлом разобрались, теперь перейдем к программному файлу модуля.

seo
14th Янв 2011
Теги:
seo

Написать ответ

seo
 
seo
Все права защищены © 2011 Joomla портал
 
 
seo