MIDAV.RU

MIDAV.RU

Учусь делать сайты в свободное время .

Создаем модуль для Joomla 2.5

Просмотров: 2839Комментарии: 2
Мои работыJoomlaМодули, плагины и т.п.

В этой статье я расскажу как создать модуль для Joomla 2.5 . Я не буду создавать самый популярный модуль в мире , под названием "Hello World !" grin Лучше мы создадим что нибудь более практичное . Например модуль для отображения группы популярного сервиса ВКонтакте .

Итак приступим , создадим файлы модуля с такой структурой :

mod_vkgroup_structure.jpg

Файл mod_vkgroup.xml нужен для установки модуля . В нем содержится описание модуля .

<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="2.5.0" method="upgrade">
		<name>mod_vkgroup</name> 
		<creationDate>December 2012</creationDate>
		<author>MidaV</author>
		<authorEmail>admin@http://midav.ru</authorEmail>
		<authorUrl>http://midav.ru</authorUrl>
		<copyright>Copyright Info</copyright>
		<license>License Info</license>
        <version>1.0</version>
        <description>MOD_VKGROUP_XML_DESCRIPTION</description>
 
        <files>
                <filename module="mod_vkgroup">mod_vkgroup.php</filename>
                <filename>mod_vkgroup.xml</filename>
				<filename>index.html</filename>				
				<filename>helper.php</filename>
				<folder>tmpl</folder>
        </files>
		<config>
			<fields name="params">
				<!-- Основные параметры для модуля -->
				<fieldset name="basic">
					<field name="id_group" type="text" label="MOD_VKGROUP_ID_LABEL" 		description="MOD_VKGROUP_ID_DESCRIPTION" default="4592872"/>
					<field name="width" type="text" label="MOD_VKGROUP_WIDTH_LABEL" description="MOD_VKGROUP_WIDTH_DESCRIPTION" default="240"/>
					<field name="mode" type="list" label="MOD_VKGROUP_MODE_LABEL" default="0">
						<option value="0">MOD_VKGROUP_MODE_1</option>
						<option value="1">MOD_VKGROUP_MODE_2</option>
						<option value="2">MOD_VKGROUP_MODE_3</option>
					</field>
					<field name="wide" type="list" label="MOD_VKGROUP_WIDE_LABEL" default="0">
						<option value="0">MOD_VKGROUP_WIDE_1</option>
						<option value="1">MOD_VKGROUP_WIDE_2</option>
					</field>
				</fieldset>
				<!-- Дополнительные параметры для модуля -->
				<fieldset name="advanced">
					<field name="layout" type="modulelayout"
						label="JFIELD_ALT_LAYOUT_LABEL"
						description="JFIELD_ALT_MODULE_LAYOUT_DESC" />				
				</fieldset>
			</fields>
		</config>
		<!-- Файлы локализации -->
		<languages folder="language">
			<language tag="ru-RU">ru-RU/ru-RU.mod_vkgroup.ini</language>
			<language tag="ru-RU">ru-RU/ru-RU.mod_vkgroup.sys.ini</language>
		</languages>		
</extension>

Файл mod_vkgroup.php , это основной файл модуля , точка входа . В этом файле мы подключим хелпер и файлы шаблона вывода .

// No direct access.
defined('_JEXEC') or die;
// Подключаем файл помошника
require_once dirname(__FILE__).'/helper.php';
// Подключаем шаблон вывода
require JModuleHelper::getLayoutPath('mod_vkgroup', $params->get('layout', 'default'));

В хелпере получаем данные . В нашем случае данных немного . В нем мы получим параметры модуля , нужные для  настройки виджета ВКонтакте .

// No direct access.
defined('_JEXEC') or die;
$id_group = $params->get('id_group');
$width = $params->get('width');
$mode = $params->get('mode');
$wide = $params->get('wide');

В файле tmpl/default.php мы подключаем нужные скрипты и выводим данные на страницу .

defined('_JEXEC') or die;
$doc = JFactory::getDocument();
$doc->addScript('http://vkontakte.ru/js/api/openapi.js');
?>
<div id="vk_groups<?php echo $id_group; ?>"></div>
<script type="text/javascript">
VK.Widgets.Group("vk_groups<?php echo $id_group; ?>", {mode: <?php echo $mode; ?>, width: "<?php echo $width; ?>", wide: <?php echo $wide; ?>}, <?php echo $id_group; ?>);
</script>

В папке language содержаться файлы локализации для русского языка .

Для другого языка можно добавить переводы по аналогии

Вот модуль и готов :

vkontakte.jpg

Архив модуля можно скачать здесь .

Комментариев: 2 RSS

test page

1 Евгения 31-10-2013 10:14

Какое счастье, что Вы не стали создавать очередной самый популярный и самый бесполезный в мире модуль Hello World ! Буду учиться по этой статье, спасибо вам!

test page
Оставьте комментарий!

grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question


Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

     

  

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email. При регистрации на указанный адрес придет письмо со ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д., а также подписку на новые комментарии.

(обязательно)