Чтение онлайн

на главную - закладки

Жанры

Разрботка расширений для CMS Joomla
Шрифт:

Каким образом осуществляется управления часто используемыми полями?

Упражнения

Адаптируйте код из раздела " Практика" для своего варианта (см. список вариантов в дополнительных материалах).

Генерация элементов HTML (класс JHTML)

Лекция посвящена классу JHTML и поддерживающим классам. Рассмотрены методы для вывода элементов XHTML.

Цель лекции:Изучить готовые методы Joomla для генерации и отображения элементов XHTML и поведений JavaScript.

Основной

метод класса JHTML

Joomla содержит методы для генерации и отображения элементов XHTML и поведений JavaScript. Эти методы вызываются с помощью

mixed _(string $type)

Несмотря на то, что в прототипе метода JHTML::_ указан всего один параметр, на практике их, как правило, бывает больше. Они интерпретируются так: по первому параметру метод _ определяет, какой метод необходимо вызвать, а остальные параметры передаются в этот метод.

Параметр $type может быть трех видов:

Название метода самого класса JHTML. Например, $type = 'image' приведет к вызову JHTML::image.

<имя файла>.<имя метода>. Будет вызван метод поддерживающего класса JHTML<Имя файла>.<имя метода>. В имени поддерживающего класса первая буква <имени файла> станет заглавной. Например, если $type='select.genericlist', то будет вызван метод JHTMLSelect::genericlist.

<префикс>.<имя файла>.<имя метода> и будет вызван метод <префикс>.<Имя файла>.<имя метода>.

Методы класса JHTML

Класс JHTML содержит восемь методов для вывода элементов XHTML.

Поле для ввода даты и пиктограмма, по щелчку на которой появляется календарь

string calendar(string $value, string $name, string $id, string $format = '%Y-%m-%d', array $attribs = null)

где:

$value - значение даты; $name - имя текстового поля; $id - id текстового поля; $format - формат даты; $attribs - дополнительные атрибуты, которые должны быть выведены в теге <input>.

Для примера выведем текущую дату (рис. 3.1):

echo JHTML::_('calendar', date('Y-m-d',time), 'created', 'created', '%Y-%m-%d', array('size'=>10,'style'=>"class='inputbox'"));

Рис. 3.1. Поле для ввода даты и пиктограмма для вывода календаря

Строка, содержащая дату в заданном формате и часовом поясе

string date(string $input = 'now', string $format = null, mixed $tz = true, bool $gregorian=false)

где:

$input - строка в формате, подходящем для функции date; $format - формат, к которому необходимо привести дату; $tz - одна из временных зон, поддерживаемых PHP (их список можно найти на странице ссылка: http://www.php.net/manual/ru/timezones.php). Кроме того, $tz может иметь логическое значение:

при $tz=true временная зона берется из настроек пользователя, при $tz=false - из настроек сервера; $gregorian - при false для форматирования даты будет использоваться локальный календарь.

Для примера выведем текущую дату:

echo JHTML::_('date',date('Y-m-d',time), 'Y-m-d h:m', 'Europe/Moscow', false);

Элемент <iframe></iframe>

string iframe(string $url, string $name, array $attribs = null, string $noFrames = '')

где

$url - относительный URL, будущее значение атрибута src; $name - название будущего элемента <iframe>; $attribs - ассоциативный массив атрибутов будущего тега <iframe>; $noFrames - содержимое будущего тега: текст, который будет показан, если браузер не поддерживает тег <iframe>.

Пример:

echo JHTML::_('iframe','index.php', 'myelement', array('width'=>500,'height'=>300), 'Ваш браузер не поддерживает плавающие фреймы');

Элемент <img></img>

string image(string $file, string $alt, mixed $attribs = null, bool $relative = false, bool $path_only = false)

где

$file - абсолютный или относительный URL изображения; $alt - альтернативный текст; $attribs - ассоциативный массив атрибутов будущего тега (может быть задан сразу в виде строки, например: "width="100%" height="100%""); $relative - перебирать ли варианты пути к файлу; $path_only - возвращать ли только путь к изображению или тег <img> со всеми атрибутами.

Для методов image, script и stylesheet будет выполнена следующая процедура поиска файла. Если $file начинается с "http", то метод просто вернет $file. В противном случае он производит поиск файла, перебирая возможные варианты его названия в зависимости от браузера пользователя. Например, для значения "/pics/pic.png" и браузера Mozilla 5.0 будут перебираться варианты "/pics/pic.png", "/pics/pic_mozilla.png", "/pics/pic_mozilla_5.png", "/pics/pic_mozilla_5_0.png". При $relative=true перебираются также различные варианты пути к файлу в папке текущего шаблона и папке /media. В противном случае метод будет искать файл JPATH_ROOT/<имя файла>для каждого варианта названия файла.

Например, следующий код

echo JHTML::_('image','req.png','Восклицательный знак', array('width'=>25,'height'=>25), true, false);

выведет

<img src="/joomla/templates/beez_20/images/req.png" alt="Восклицательный знак" width="25" height="25"/>

Если последним параметром указать true, то эта же строка выведет на экран

/joomla/templates/beez_20/images/req.png

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

Элемент <a></a>

Поделиться:
Популярные книги

Печать Пожирателя

Соломенный Илья
1. Пожиратель
Фантастика:
попаданцы
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Печать Пожирателя

Привет из Загса. Милый, ты не потерял кольцо?

Лисавчук Елена
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Привет из Загса. Милый, ты не потерял кольцо?

Мастер 2

Чащин Валерий
2. Мастер
Фантастика:
фэнтези
городское фэнтези
попаданцы
технофэнтези
4.50
рейтинг книги
Мастер 2

Нечто чудесное

Макнот Джудит
2. Романтическая серия
Любовные романы:
исторические любовные романы
9.43
рейтинг книги
Нечто чудесное

Клан

Русич Антон
2. Долгий путь домой
Фантастика:
боевая фантастика
космическая фантастика
5.60
рейтинг книги
Клан

Имя нам Легион. Том 3

Дорничев Дмитрий
3. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 3

Запасная дочь

Зика Натаэль
Фантастика:
фэнтези
6.40
рейтинг книги
Запасная дочь

Убивать чтобы жить 7

Бор Жорж
7. УЧЖ
Фантастика:
героическая фантастика
космическая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 7

У врага за пазухой

Коваленко Марья Сергеевна
5. Оголенные чувства
Любовные романы:
остросюжетные любовные романы
эро литература
5.00
рейтинг книги
У врага за пазухой

Кодекс Охотника. Книга XXI

Винокуров Юрий
21. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XXI

Генерал Скала и ученица

Суббота Светлана
2. Генерал Скала и Лидия
Любовные романы:
любовно-фантастические романы
6.30
рейтинг книги
Генерал Скала и ученица

Оцифрованный. Том 1

Дорничев Дмитрий
1. Линкор Михаил
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Оцифрованный. Том 1

Его маленькая большая женщина

Резник Юлия
Любовные романы:
современные любовные романы
эро литература
8.78
рейтинг книги
Его маленькая большая женщина

Хуррит

Рави Ивар
Фантастика:
героическая фантастика
попаданцы
альтернативная история
5.00
рейтинг книги
Хуррит