Создание модуля для Joomla 2.5 и 3.

Создание модуля для для Joomla 2.5 и 3 значительно проще, чем создание компонента, который обычно реализует более сложную бизнес-логику. Обычно, стандартный модуль в Joomla представляет собой следующую структуру файлов:

mod_name (папка с файлами модуля, где name – это имя модуля):
– mod_name.xml (файл описания модуля в xml-формате)
– mod_name.php (основной файл модуля)
– helper.php (необязательный файл)
– index.html (пустой html-файл)
– tmpl (папка с шаблонами оформления вывода содержания блока)
– default.php (шаблон оформления по умолчанию)
– index.html (пустой html-файл)

Рассмотрим пример простейшего модуля «mod_news».

Пример содержания xml-файла mod_news.xml (необходимый файл, без которого вы не сможете установить модуль) :
<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="2.5.0" method="install">
	<name>mod_news</name>
	<author>Andrew</author>
	<creationDate>18.03.2013</creationDate>
	<copyright>Copyright (C) 2013 All rights reserved.</copyright>
	<license>GNU General Public License</license>
	<authorEmail>admin@myemail.ru</authorEmail>
	<authorUrl>poleshuk.ru</authorUrl>
	<version>2.5.0</version>
	<description>MOD_NEWS_XML_DESCRIPTION</description>
	<files>
		<filename module="mod_news">mod_news.php</filename>
		<folder>tmpl</folder>
		<filename>index.html</filename>		
		<filename>mod_news.xml</filename>
                <filename>helper.php</filename>
	</files>
</extension>

Как видно из примера, сначала включается информация об авторе и версиях, затем – информация о файлах и папках, которые поставляются с модулем.

Пример содержания файла mod_news.php (основной файл модуля):
<?php
/**
 * здесь описание и комментарии
 */
defined('_JEXEC') or die;
 
// подключаем наш хелпер
require_once __DIR__ . '/helper.php';
 
//вызываем метод getNews(), который находится в хелпере 
//(извлекает из базы данных нужную нам информацию
$news = modNewsHelper::getNews();
 
//подключаем html-шаблон для вывода содержания модуля (шаблон default).
require JModuleHelper::getLayoutPath('mod_news', $params->get('layout', 'default'));

Пример хэлпера helper.php
<?php
 
defined('_JEXEC') or die;
 
class modNewsHelper
{
	public static function getNews()
	{
		//подключаемся к базе данных
		$app	= JFactory::getApplication();
		$db = JFactory::getDbo();
 
		//здесь какие-то действия и запросы к базе данных
		...
		//возвращаем результат
		return $rows;
	}
}

Файл вывода содержимого нашего модуля default.php
<?php
defined('_JEXEC') or die;
?>
<?php foreach ($news as $item) : ?>
	<li><?php echo $item->title;?></li>
	<li><?php echo $item->data;?></li>
<?php endforeach; ?>
Теги:
модуля, filename, default, helper, содержания, version, defined, JEXEC, вывода, getNews, шаблон, index, Пример, description, require, creationDate, authorUrl, файла, author, extension, module, license, authorEmail, данных , copyright, folder, здесь, информация, подключаем, оформления, модуль, files, папка, Joomla, JFactory
Добавлено: 07 Апреля 2018 14:27:43 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...