Класс JHTML в Joomla. Описание базовых методов
В этой части я постараюсь немного рассказать как использовать базовые методы класса JHTML. В Joomla есть свои методы для вывода того или иного кода. Но это не значит, что все и всегда так нужно делать, и это не лекарство от всех болезней. Иногда бывает полезно использовать этот функционал, для того что бы не писать лишний раз тот или иной код. Но повторюсь, злоупотреблять им все же думаю не стоит, т.к. лучше все таки вписать пару строчек ручками, чем вызывать тот или иной метод. Как никак на производительность это может влиять, пусть даже и не сильно.
По этой же причине описывать все методы, думаю, не имеет смысла. Опишу только те, которые могут пригодиться в той или иной ситуации.
Вывод изображений с помощью средст Joomla
Результатом будет следуещие
<img width="30" heght="10" alt="ALT Картинки" src="/template/images/apply_f2.png">
- images/apply_f2.png - путь к картинке относительно корня сайта. Здесь стоит отметить, что если путь не начинается с http, то он будет браться относительно корня сайта и первый слеш нужно не ставить;
- ALT Картинки - это соответсвенно атрибут alt;
- heght="30" width="30" - в последней переменной соответсвенно передаем нужные параметры (атрибуты);
Существует еще дополнительный класс JHTMLImage, который расширяет стандартные возможности.
Например можно вызвать картинку из используемого шаблона, папки images
Выведит картинку login-bg.gif из папки images, используемого шаблона, с соответствующим альтом и атрибутами.
Остальное, я думаю, с выводом картинок использовать бессмысленно.
Вывод даты с помощью средст Joomla
- $date - сама дата. В примере я вывел текущую (null), так же для вывода текущей даты можно использовать 'now';
- $format - формат вывода даты. Joomla использует свой формат, поэтому timestamp здесь работать не будет. Все числовые данные я показал как выводить в примере;
Что касается отдельно вывода название месяца и дня недели:
%a - вывод коротко дня недели;
%A - вывод полностью дня недели;
%b - вывод коротко названия месяца;
%B - вывод полностью названия месяца;
- $offset - переменная, которая устанавливает часовой пояс для даты. Если переменная будет NULL, то часовой пояс будет браться из общих настроек Joomla.
Вывод календаря испльзуемого в Joomla
При этом подключаться скрипты для календаря (calendar.js и calendar-setup.js), а так же стили (calendar-jos.css). Mootools для него не нужен.
Эта конструкция выведит инпут бокс с оответствующими атрибутами:
<input type="text" value="5" id="test" name="test">
И рядом с ним стандартный календарик, который использутся, к примеру, в админке Joomla.
Еще один способ подключения этого же календаря
1. Подключаем скрипты
<?php JHTML::_('behavior.calendar'); ?>
2. В документе пишем
При этом нужно учитывать формат выводимой даты в value и формат который мы задаем в скрипт.
Так же нужно следить что бы id инпутбокса (fromdate) соответствовало первой переменной, передаваемой в скрипт.
Подключение файлов скриптов в Joomla
<?php JHTML::_('script', $filename = 'calendar.js', $path = 'media/system/js/', $mootools = true ); ?>
- $filename - название подключаемого скрипта (я для примера взял calendar.js);
- $path - путь к файлу скрипта (по умолчанию media/system/js/). Здесь стоит отметить, что если путь не начинается с http, то он будет браться относительно корня сайта и первый слеш нужно не ставить.
- $mootools - подключать или не подключать mootools. По умолчанию стоит в true, т.е. подключается.
Так же для того что бы подключить отдельно mootools можно использовать такую конструкцию:
<?php JHTML::_('behavior.mootools'); ?>
Скрипты подключается к документу в области, где в шаблоне стоит
<jdoc:include type="head" />
Так же файлы скриптов и сами скрипты можно подключать следующим образом:
$document = &JFactory::getDocument();
$document->addScript(string $url, [string $type = "text/javascript"]);
$document->addScriptDeclaration(string $content, [string $type = 'text/javascript'])
Подключение файлов стилей в Joomla
Осуществляется аналогичным образом, что и скриптов. За исключение того что в последнюю переменную передаются дополнительные атрибуты, если они нужны, в виде массива.
Другой способ:
$document = &JFactory::getDocument();
$document->addStyleSheet (string $url, [string $type = 'text/css'], [string $media = null], [ $attribs = array()]);
$document->addStyleDeclaration (string $content, [string $type = 'text/css']);
Подключение и вывод ТoolTip
Если нужно вывести картинку вводим $tooltip['image'], если текст $tooltip['text']. Если нужно добавить еще и ссылку то вписываем $tooltip['href']
42
Комментарии
02.04.2010 11:18
24.06.2010 10:04
Я использую, к примеру, com_proofreader
Я не пытаюсь придираться. Наоборот - читаю вдумчиво Ваш текст. Поэтому заметил. А за ликбез спасибо!
16.03.2011 21:02
03.06.2011 04:27
28.08.2011 13:44
20.09.2011 00:44
Никак, для этого нужно переделывать ядро. Даже плагинами такое, думаю, проблематично будет реализовать.
Да и в общем, то что скрипты должны прописываться в конце страницы - это глубокое заблуждение. Почитайте документацию htmlbook.ru/html/script
Единственное когда это может быть полезно, так это для загрузки внешних JS (c других сайтов). Но их можно прописать в шаблоне самому где угодно.
24.08.2013 17:07
04.01.2015 15:24
но в голосовалке стукнул на 1чку, начал читать и с первых строй вопрос что читаю, о чём как рекоммендовано использовать этот класс авторами ..
а как общий расширитель сознания таблетка хорошая
17.05.2016 10:56
RSS лента комментариев этой записи