Template Toolkit: Модули: Template::Plugin::HTML
Плагин для создания HTML элементов.
Оглавление
[% USE HTML %]
[% HTML.escape("if (a < b && c > d) ..." %]
[% HTML.element(table => { border => 1, cellpadding => 2 }) %]
[% HTML.attributes(border => 1, cellpadding => 2) %] |
Достаточно новый и содержащий только базовые вещи плагин HTML реализует несколько полезных методов для генерации HTML. Скорее всего в будущем он будет расширен или интегрирован в больший проект для генерации элементов HTML общим способом (как это недавно обсуждалось в списке рассылки mod_perl).
|
escape(text)
Возвращает исходный текст в котором зарезервированные в HTML символы (такие как <, >, и т.д.) правильно заменены на соответствующие сущности (entity).
attributes(hash)
Возвращает элементы переданного в качестве параметра хеша в виде правильно отформатированной строки (т.е. значения правильно изменены и включены в кавычки) с аттрибутами HTML элемента.
element(type, attributes)
Генерирует HTML элемент указанного типа с аттрибутами, переданными через хеш (второй необязательный аргумент) или в виде именованных аргументов.
[% HTML.element(table => { border => 1, cellpadding => 2 }) %]
[% HTML.element('table', border=1, cellpadding=2) %]
[% HTML.element(table => attribs) %]
|
Плагин HTML принимает в качестве аргумента конструктора опцию 'sorted', установка которой в истинное значение приводит к тому, что аттрибуты, сгенерированные методом attributes() (напрямую или через вызов element()) возвращаются в отсортированном виде. Порядок аттрибутов не важен в HTML, но полезен при отладке, когда отсортированное представление предпочтительнее неопределенного порядка, в котором возвращаются ключи хеша.
[% USE HTML(sorted=1) %]
[% HTML.element( foo => { charlie => 1, bravo => 2, alpha => 3 } ) %]
генерирует:
<foo alpha="3" bravo="2" charlie="1"> |
2.57, поставляется в составе Template Toolkit версии 2.14, дата релиза - 4 октября 2004.
|
Copyright (C) 1996-2004 Andy Wardley. All Rights Reserved.
Copyright (C) 1998-2002 Canon Research Centre Europe Ltd.
Этот модуль является свободно-распространяемым программным обеспечением;
вы можете распространять и/или модифицировать его на тех же условиях,
что и Perl.
|
|