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

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

Жанры

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

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

mixed id(int $rowNum, int $recId, bool $checkedOut=false, string $name='cid')

где

$rowNum - номер строки в таблице; $recId - id записи; $checkedOut - отмечен ли элемент; $name - имя элемента формы.

Метод возвращает html-код чекбокса, если элемент не отмечен, и пустую строку в противном случае.

Для создания пиктограммы, по щелчку на которой можно изменять значение поля published с 0 на 1 и обратно, используется

string published(mixed $value, int $i, string $img1 = 'tick.png', string $img0 = 'publish_x.png', string $prefix='')

где

$value -

объект или только значение поля published; $i - номер строки в таблице; $img1 - изображение при published = 1; $img0 - изображение при published = 0; $prefix - префикс, который будет добавлен к названиям по умолчанию задач publish/unpublish.

Для примера выведем элементы массива $rows как строки таблицы, добавив для каждой записи ячейки с чекбоксом и значком "опубликовано"/"не опубликовано":

$k = 0; for ($i = 0, $n = count($rows); $i < $n; $i ++) { $row = &$rows[$i]; ?> <tr class="<?="row$k"?>"> <td><?=JHTML::_('grid.id', $i, $row->id)?></td> <td><?=$row->name?></td> <td align="center"><?=JHTML::_('grid.published', $row, $i)?></td> </tr> <?php $k = 1 - $k; }

Пример результата приведен на рис. 3.3.

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

Рис. 3.3. Чекбокс и пиктограмма "опубликовано/не опубликовано"

Обратите внимание, что методы класса JHTMLGrid лишь отображают какой-либо элемент, но не добавляют код для его обработки. В приведенном выше примере кнопки "опубликовано"/"не опубликовано"отображаются, но не работают. Чтобы это исправить, необходимо зарегистрировать задачи publish и unpublish (если вы не изменили их названия, задав какой-либо префикс) и написать функцию для их обработки, которая будет вызывать метод JTable::publish.

JHTMLImage

Содержит два метода для поиска изображения в фронтенде и бэкенде соответственно. Каждый из них ищет либо изображение из директории images текущего шаблона сайта/панели управления, либо, если файла с заданным именем там нет, изображение из заданной директории.

string site(string $file, string $folder = '/images/system/', int $altFile = null, string $altFolder = '/images/system/', string $alt = null, array $attribs = null, bool $asTag = true) string administrator(string $file, string $folder = '/images/', int $altFile = null, string $altFolder = '/images/', string $alt = null, array $attribs = null, bool $asTag = true)

где

$file - имя файла; $folder - путь к файлу. Будет использован, если в директории images текущего шаблона не нашлось файла с заданным именем; $altFile - если не задано, то используются значения $file и $folder, при $altFile = -1 метод возвращает пустую строку, при других значениях используются $altFile и $altFolder; $altFolder - другой путь к файлу; $alt - будущее значение атрибута alt; $attribs - ассоциативный массив атрибутов; $asTag - вернуть весь тег <img> с его содержимым или только путь.

Пример:

echo JHTML::_('image.site', 'notice-info.png', '/media/system/images/');

JHTMLList

Методы

класса JHTMLList используются для создания списков некоторых значений.

Список для выбора одного из существующих в Joomla уровней доступа

string accesslevel(object &$row)

где $row - объект, имеющий поле access.

Пример:

$query = 'SELECT id,access FROM #__content WHERE id = 1'; $db =& JFactory::getDBO; $db->setQuery($query); $article = $db->loadObject; echo JHTML::_('list.accesslevel', $article);

Результат показан на рис. 3.4.

Рис. 3.4. Список для выбора уровня доступа

Список для выбора изображения

array images(string $name, string $active = NULL, string $javascript = NULL, string $directory = NULL, string $extensions = "bmp|gif|jpg|png")

где

$name - имя поля; $active - выбранный по умолчанию элемент; $javascript - дополнительный код Javascript, который будет выведен внутри тега <select>; $directory - директория, в которой хранятся изображения. Например: components/com_mycomponent/images. Если значение не задано, будет использоваться директория images; $extensions - список допустимых расширений

Например, вывод на экран JHTML::_('list.images','imglist') приведет к отображению такого списка (рис. 3.5).

Рис. 3.5. Список для выбора изображения

Список незаблокированных пользователей

string users(string $name, string $active, int $nouser = 0, string $javascript = NULL, string $order = 'name', string $reg = 1)

где

$name - название элемента <select>; $active - выбранный по умолчанию пользователь; $nouser - добавлять ли пункт, означающий отсутствие пользователя; $javascript - дополнительный код Javascript, который будет выведен внутри тега <select>; $order - имя поля для сортировки списка; $reg - исключить пользователей из группы " Зарегистрированные".

Например, вывод на экран JHTML::_('list.users','usrlist','42', 1, NULL, 'id', $reg = 1) приведет к отображению такого списка (рис. 3.6).

Рис. 3.6. Список для выбора пользователя

Список категорий

string category(string $name, string $extension, string $selected = NULL, string $javascript = NULL, string $order = null, int $size = 1, bool $sel_cat = 1)

где

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

Сердце Дракона. Том 20. Часть 1

Клеванский Кирилл Сергеевич
20. Сердце дракона
Фантастика:
фэнтези
боевая фантастика
городское фэнтези
5.00
рейтинг книги
Сердце Дракона. Том 20. Часть 1

Холодный ветер перемен

Иванов Дмитрий
7. Девяностые
Фантастика:
попаданцы
альтернативная история
6.80
рейтинг книги
Холодный ветер перемен

Последнее желание

Сапковский Анджей
1. Ведьмак
Фантастика:
фэнтези
9.43
рейтинг книги
Последнее желание

Отмороженный 7.0

Гарцевич Евгений Александрович
7. Отмороженный
Фантастика:
рпг
аниме
5.00
рейтинг книги
Отмороженный 7.0

Наследник

Кулаков Алексей Иванович
1. Рюрикова кровь
Фантастика:
научная фантастика
попаданцы
альтернативная история
8.69
рейтинг книги
Наследник

Магия чистых душ 2

Шах Ольга
Любовные романы:
любовно-фантастические романы
5.56
рейтинг книги
Магия чистых душ 2

Наследие Маозари 5

Панежин Евгений
5. Наследие Маозари
Фантастика:
фэнтези
юмористическое фэнтези
5.00
рейтинг книги
Наследие Маозари 5

Локки 4 Потомок бога

Решетов Евгений Валерьевич
4. Локки
Фантастика:
аниме
фэнтези
5.00
рейтинг книги
Локки 4 Потомок бога

Граф

Ланцов Михаил Алексеевич
6. Помещик
Фантастика:
альтернативная история
5.00
рейтинг книги
Граф

Миф об идеальном мужчине

Устинова Татьяна Витальевна
Детективы:
прочие детективы
9.23
рейтинг книги
Миф об идеальном мужчине

Мастер Разума V

Кронос Александр
5. Мастер Разума
Фантастика:
городское фэнтези
попаданцы
5.00
рейтинг книги
Мастер Разума V

Здравствуй, 1984-й

Иванов Дмитрий
1. Девяностые
Фантастика:
альтернативная история
6.42
рейтинг книги
Здравствуй, 1984-й

Безумный Макс. Поручик Империи

Ланцов Михаил Алексеевич
1. Безумный Макс
Фантастика:
героическая фантастика
альтернативная история
7.64
рейтинг книги
Безумный Макс. Поручик Империи

Барон не играет по правилам

Ренгач Евгений
1. Закон сильного
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Барон не играет по правилам