Читаем Разрботка расширений для CMS Joomla полностью

Обратите внимание, что этот путь мы не задавали, его обнаружил метод image().


Элемент

string link(string $url, string $text, array $attribs = null)

где:

$text - текст ссылки; $attribs - ассоциативный массив атрибутов будущего тега.


Пример:

echo JHTML::_('link','index.php','На главную страницу', array('title'=>'На главную','id'=>'linktomainpage'));


Элемент

mixed script(string $file, bool $framework = false, bool $relative = false, bool $path_only = false, bool $detect_browser = true)

где

$file - путь к файлу; $framework - загружать ли фреймворк Javascript; $path_only - возвращать путь к файлу или добавить все найденные файлы к текущему документу; $detect_browser - определять ли браузер пользователя для включения файлов Javascript для этого браузера.


При $path_only=false метод не возвращает никакого значения.

Пример:

echo JHTML::_('script', 'media/system/js/calendar.js', false, false, true, false);


Элемент

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 тега ; $class - название класса элемента , в который будет заключен тег .


Изображение с подсказкой:

echo JHTML::tooltip('Текст подсказки', 'Заголовок подсказки', 'tooltip.png', '', 'http://www.mysite.ru');

Текст с подсказкой:

echo JHTML::tooltip('Текст подсказки', 'Заголовок подсказки', '', 'Наведите на этот текст курсор мыши, чтобы увидеть подсказку');

Поддерживающие классы

Рассмотрим некоторые методы поддерживающих классов. Полный список этих методов можно найти в документации, однако на текущий момент она не достаточно полная и содержит ошибки, поэтому для детальной справки по какому-либо методу вы можете обратиться напрямую к исходным кодам в папке /libraries/joomla/html/html.


JHTMLBehavior

Методы этого класса загружают код Javascript в заголовок документа. Методы JHTMLBehavior позволяют вывести календарь, дерево элементов, файловый загрузчик и некоторые другие элементы управления. Рассмотрим один из методов, позволяющий вывести всплывающее модальное окно без перезагрузки страницы:

void modal(string $selector = 'a.modal', array $params = array())

где

$selector - селектор класса; $params - массив параметров, ключи которого могут быть следующими: ajaxOptions, size, shadow, onOpen, onClose, onUpdate, onResize, onShow, onHide.


В следующем примере выводятся две ссылки. При нажатии на первую из них появляется всплывающее окно с изображением, на вторую - с веб-страницей.

Щелкните, чтобы увидеть изображение
Щелкните, чтобы открылось окно с веб-страницей

Первое окно выглядит так, как на рис. 3.2.

(есть увеличенное изображение)


Рис. 3.2.  Модальное окно


JHTMLEmail

Содержит один метод для скрытия адреса электронной почты в целях его защиты от спам-ботов:

string cloak(string $mail, bool $mailto=1, string $text='', bool $email=1)

где

$mail - e-mail; $mailto - выводить ли e-mail в виде ссылки или в виде текста; $text - текст этой ссылки; $email - является ли $text адресом электронной почты.


Пример:

echo JHtml::_('email.cloak', 'admin@mysite.ru', 1, 'Написать администратору', 0);


JHTMLForm

Содержит один метод, который возвращает код скрытого поля формы для уменьшения риска CSRF-атак: string token()

Именем получившегося элемента формы станет сгенерированная случайным образом строка, которая используется для проверки того, что запрос был сделан из конкретных формы и сессии.

Для предотвращения CSRF-атак вставляйте в каждую форму своего компонента строку:


JHTMLGrid

Методы данного класса используются для вывода в таблице в панели управления таких элементов, как чекбокс, пиктограмма для переключения состояния " опубликовано"/"не опубликовано", для отображения заголовка столбца как ссылки для сортировки по этому столбцу и др.

Таблица должна располагаться внутри формы под названием adminForm, обязательно включающей два скрытых поля: boxchecked со значением по умолчанию 0 и task.

Для создания чекбокса используется метод

Перейти на страницу:

Похожие книги

Разработка ядра Linux
Разработка ядра Linux

В книге детально рассмотрены основные подсистемы и функции ядер Linux серии 2.6, включая особенности построения, реализации и соответствующие программны интерфейсы. Рассмотренные вопросы включают: планирование выполнения процессов, управление временем и таймеры ядра, интерфейс системных вызовов, особенности адресации и управления памятью, страничный кэш, подсистему VFS, механизмы синхронизации, проблемы переносимости и особенности отладки. Автор книги является разработчиком основных подсистем ядра Linux. Ядро рассматривается как с теоретической, так и с прикладной точек зрения, что может привлечь читателей различными интересами и потребностями.Книга может быть рекомендована как начинающим, так и опытным разработчикам программного обеспечения, а также в качестве дополнительных учебных материалов.

Роберт Лав

Программирование, программы, базы данных / Программирование / Книги по IT