Разрботка расширений для CMS Joomla
Шрифт:
string link(string $url, string $text, array $attribs = null)
где:
$text - текст ссылки; $attribs - ассоциативный массив атрибутов будущего тега.
Пример:
echo JHTML::_('link','index.php','На главную страницу', array('title'=>'На главную','id'=>'linktomainpage'));
Элемент <script></script>
mixed script(string $file, bool $framework = false, bool $relative = false, bool $path_only = false, bool $detect_browser = true)
где
$file -
При $path_only=false метод не возвращает никакого значения.
Пример:
echo JHTML::_('script', 'media/system/js/calendar.js', false, false, true, false);
Элемент <link rel="stylesheet" style="text/css"/>
mixed stylesheet(string $file, array $attribs = array, bool $relative = false, bool $path_only = false, bool $detect_browser = true)
Все параметры аналогичны рассмотренным выше.
Пример:
echo JHTML::_('stylesheet', 'media/system/css/system.css', array("title"=>"Название стиля","media"=>"screen, print"), false, true, false);
Всплывающая подсказка
string tooltip(string $tooltip, mixed $title = '', string $image = 'tooltip.png', string $text = '', string $href = '', string $alt = 'Tooltip', string $class = 'hasTip')
где
$tooltip - текст подсказки; $title - название подсказки или ассоциативный массив с ключами title, image, text, href, alt и соответствующими значениями; $image - изображение, для которого будет выводиться подсказка (если не задано значение $text); $text - текст, для которого будет выводиться подсказка (если не задано значение $image); $href - URL, на который будет произведен переход по щелчку на изображение или текст; $alt - значение атрибута alt тега <img>; $class - название класса элемента <span>, в который будет заключен тег <img>.
Изображение с подсказкой:
echo JHTML::tooltip('Текст подсказки', 'Заголовок подсказки', 'tooltip.png', '', 'http://www.mysite.ru');
Текст с подсказкой:
echo JHTML::tooltip('Текст подсказки', 'Заголовок подсказки', '', 'Наведите на этот текст курсор мыши, чтобы увидеть подсказку');
Поддерживающие классы
Рассмотрим некоторые методы поддерживающих классов. Полный список этих методов можно найти в документации, однако на текущий момент она не достаточно полная и содержит ошибки, поэтому для детальной справки по какому-либо методу вы можете обратиться напрямую к исходным кодам в папке /libraries/joomla/html/html.
JHTMLBehavior
Методы этого класса загружают код Javascript в заголовок документа.
void modal(string $selector = 'a.modal', array $params = array)
где
$selector - селектор класса; $params - массив параметров, ключи которого могут быть следующими: ajaxOptions, size, shadow, onOpen, onClose, onUpdate, onResize, onShow, onHide.
В следующем примере выводятся две ссылки. При нажатии на первую из них появляется всплывающее окно с изображением, на вторую - с веб-страницей.
<?php JHTML::_('behavior.modal'); ?> <a href="#" class="modal" rel="{size: {x: 100, y: 100}, handler:'iframe'}" >Щелкните, чтобы увидеть изображение</a><br/> <a href="#" class="modal" rel="{size: {x: 700, y: 500}, handler:'iframe'}" >Щелкните, чтобы открылось окно с веб-страницей</a>
Первое окно выглядит так, как на рис. 3.2.
(есть увеличенное изображение)
Рис. 3.2. Модальное окно
JHTMLEmail
Содержит один метод для скрытия адреса электронной почты в целях его защиты от спам-ботов:
string cloak(string $mail, bool $mailto=1, string $text='', bool $email=1)
где
$mail - e-mail; $mailto - выводить ли e-mail в виде ссылки <a href="#">…</a> или в виде текста; $text - текст этой ссылки; $email - является ли $text адресом электронной почты.
Пример:
echo JHtml::_('email.cloak', 'admin@mysite.ru', 1, 'Написать администратору', 0);
JHTMLForm
Содержит один метод, который возвращает код скрытого поля формы для уменьшения риска CSRF-атак: string token
Именем получившегося элемента формы станет сгенерированная случайным образом строка, которая используется для проверки того, что запрос был сделан из конкретных формы и сессии.
Для предотвращения CSRF-атак вставляйте в каждую форму своего компонента строку:
<?php echo JHTML::_('form.token');?>
JHTMLGrid
Методы данного класса используются для вывода в таблице в панели управления таких элементов, как чекбокс, пиктограмма для переключения состояния " опубликовано"/"не опубликовано", для отображения заголовка столбца как ссылки для сортировки по этому столбцу и др.
Таблица должна располагаться внутри формы под названием adminForm, обязательно включающей два скрытых поля: boxchecked со значением по умолчанию 0 и task.