Template Toolkit

(русская редакция)

[ Пособия ] [ Руководство ] [ Модули ] [ Библиотеки ] [ Утилиты ] [ Вопросы ] [ Релиз ] [ Perl-ресурсы ]
 
Поиск
Template Toolkit | Библиотеки | HTML | Библиотека HTML

Библиотека HTML

[ Библиотека Splash! ► ]
Библиотека шаблонов для построения страниц с использованием базового HTML.

Оглавление

ОПИСАНИЕ

Индекс ] [ Библиотеки ] [ Наверх ]

ЗАМЕЧАНИЕ: Эта документация не является полной и местами может содержать неточности.

Библиотека шаблонов 'html' поставляется как часть Template Toolkit. Ее можно найти в подкаталоге 'templates' установочного каталога.

    use Template;
    my $tt2 = Template->new({
	INCLUDE_PATH => '/usr/local/tt2/templates',
    });

Для переносимости можно использовать метод класса 'Template::Config->instdir()', чтобы определить каталог, в который установлена библиотека 'templates'.

    use Template;
    my $tt2 = Template->new({
	INCLUDE_PATH => Template::Config->instdir('templates'),
    });

После этого у вас есть доступ к библиотеке html, например:

    [% INCLUDE html/header %]

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

Сравните например,

    <table>
      . . .
    </table>

и

    [% WRAPPER html/table %]
       . . .
    [% END %]

Тем не менее, использование шаблонных элементов для генерации лежащего в основе HTML имеет свои важные достоинства, особенно когда конструкции становятся все более сложными и более магическими.

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

Шапки, подвалы и страницы

  • header

    Элемент 'header' генерирует обычный заголовок, необходимый в качестве преамбулы HTML документа. Он включает в себя все начиная от начального <html> до открывающего <body>.

        [% INCLUDE html/header
             title = 'This is a Test'
    	 bgcol = '#ffffff'
        %]

    Дополнительные элементы заголовка можно указать явной установкой переменной 'headers', например

        [% headers = BLOCK %]
        <META name="description" content="Template Toolkit">
        <META name="REVISIT-AFTER" content="14 days">
        <META name="keywords" content="Templates, Web, ...etc...">
        [% END %]
        [% INCLUDE html/header
    	 title = 'This is a Test'
    	 bgcol = '#ffffff'
        %]
  • footer

    Элемент 'footer' генерирует завершающие теги </body> и </html> в противовес заголовку.

        [% PROCESS html/header %]
        ...page content here...
        [% PROCESS html/footer %]
  • page

    Элемент 'page' - комбинация элементов 'html/header' и 'html/footer'.

        [% WRAPPER html/page %]
        ...page content here...
        [% END %]

    Содержимое страницы необходимо определить в переменной 'content' (например, через WRAPPER). Дополнительные заголовки HTML должны быть определены в переменной 'headers'.

        [% WRAPPER html/page
            headers = '<META name="keywords" content="foo, bar, ...">'
        %]
        ...page content here...
        [% END %]

Таблицы, полоски и рамки

  • table

    Базовый элемент для создания HTML таблиц.

        [% WRAPPER html/table pad=10 space=4 col='#404040' %]
           <tr>
    	<td>Hello</td> <td>World</td>
           </tr>
        [% END %]

    Можно определить следующие переменные:

    • border

      Устанавливает ширину границы (по умолчанию: 0)

    • col

      Устанавливает цвет фона (по умолчанию: нет).

    • width

      Устанавливает фиксированную ширину таблицы.

    • pad

      Устанавливает клеточный отступ.

    • space

      Устанавливает межклеточное расстояние.

    • content

      Содержимое внутри таблицы. Устанавливается автоматически при использовании WRAPPER.

  • row

    Базовый элемент для создания строк таблицы HTML.

        [% WRAPPER html/table %]
           [% WRAPPER html/row %]
    	<td>Hello</td> <td>World</td>
           [% END %]
        [% END %]

    Можно определить следующие переменные:

    • col

      Устанавливает цвет фона (по умолчанию: нет).

    • valign

      Устанавливает вертикальное выравнивание.

    • rowspan

      Устанавливает количество объединенных строк.

    • content

      Содержимое внутри строки. Устанавливается автоматически при использовании WRAPPER.

  • cell

    Базовый элемент для создания ячеек HTML таблиц.

        [% WRAPPER html/table %]
           [% WRAPPER html/row %]
    	  [% INCLUDE html/cell
    		FOREACH content = ['Hello', 'World'] %]
           [% END %]
        [% END %]

    Можно определить следующие переменные:

    • col

      Устанавливает цвет фона (по умолчанию: нет).

    • align

      Устанавливает горизонтальное выравнивание.

    • colspan

      Устанавливает количество объединенных колонок.

    • content

      Содержимое внутри ячейки. Устанавливается автоматически при использовании WRAPPER.

  • bar

    Элемент 'bar' - это обертка вокруг html/table + html/row.

        [% WRAPPER html/bar %]
           <td>Foo</td>  <td>Bar</td>
        [% END %]
  • box

    Элемент 'box' - это обертка вокруг html/table + html/row + html/cell.

        [% WRAPPER html/box %]
           Hello World!
        [% END %]

АВТОР

Индекс ] [ Библиотеки ] [ Наверх ]

Энди Уардли (Andy Wardley <abw@andywardley.com>)

http://www.andywardley.com/

ВЕРСИЯ

Индекс ] [ Библиотеки ] [ Наверх ]

2.70, поставляется в составе 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.

СМОТРИ ТАКЖЕ

Индекс ] [ Библиотеки ] [ Наверх ]

Template::Library::Splash

[ Библиотека Splash! ► ]

[ Пособия ] [ Руководство ] [ Модули ] [ Библиотеки ] [ Утилиты ] [ Вопросы ] [ Релиз ] [ Perl-ресурсы ]

http://www.template-toolkit.ru/