Разработка шаблона модуля Разработка шаблона модуля «Login»: вывод формы регистрации в SqueezeBox (Joomla 1.6/Joomla 1.7/Joomla 2.5).
SqueezeBox — стандартный для Joomla тип модального окна, использующий в качестве основной библиотеки mootools.
Для подключения SqueezeBox в шаблоне используется конструкция:
JHTML::_('behavior.modal');
, это добавит в страницы следующий JS:
window.addEvent('domready', function() { SqueezeBox.initialize({}); SqueezeBox.assign($$('a.modal'), { parse: 'rel' }); });
В Joomla 1.6/1.7/2.5 есть возможность создания собственных альтернативных шаблонов компонентов/модулей, и возможность выбора их в настройках, ей и воспользуемся.
JHTML::_('behavior.modal');
JHTML::_('stylesheet', $filename = 'style.css', $path = 'templates/ваш_шаблон/html/mod_login/' , $attribs = array() );
Создаем в папке templates/ваш_шаблон/html/mod_login файл style.css (если вы планируете проводить оптимизацию сайта, то рекомендую все стили сразу прописывать в основном файле стилей используемого шаблона, в этом случае вторую строку добавлять не следует). Первая строка кода подключит SqueezeBox, вторая добавит ссылку на файл стилей данного шаблона.
Шаблон модуля «Login» состоит из двух частей: первая отвечает за вывод формы выхода, выторая за вывод формы входа, нам потребуется только вторая, находится в районе 34 строки и начинается с кода:
<form id="login-form" action="<?php echo JRoute::_('index.php', true, $params->get('usesecure')); ?>" method="post"></form>
<a class="modal" href="#login-form" rel="{size:{x:300,y:300}}">Форма входа</a>
<a class="modal" href="#login-form" rel="{size:{x:300,y:300}}">Ссылка на html-элемент</a>
<div id="login-form">
<form action="<?php echo JRoute::_('index.php', true, $params->get('usesecure')); ?>" method="post" id="login-form" >
...
</form>
</div>
#login-form { display: none }