Tina Müller > HTML-Template-Compiled-Plugin-HTML_Tags > HTML::Template::Compiled::Plugin::HTML_Tags

Download:
HTML-Template-Compiled-Plugin-HTML_Tags-0.05.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  0
View/Report Bugs
Module Version: 0.05   Source  

NAME ^

HTML::Template::Compiled::Plugin::HTML_Tags - HTC-Plugin for various HTML tags

SYNOPSIS ^

    use HTML::Template::Compiled::Plugin::HTML_Tags;

    my $htc = HTML::Template::Compiled->new(
        plugin => [qw(HTML::Template::Compiled::Plugin::HTML_Tags)],
        ...
    );

DESCRIPTION ^

This plugin offers you five tags:

HTML_OPTION
    <tmpl_html_option arrayref>

    $htc->param(
        arrayref => [ 'opt_2', # selected
            ['opt_1', 'option 1'],
            ['opt_2', 'option 2'],
        ],
    );

    Output:
    <option value="opt_1">option 1</option>
    <option value="opt_2" selected="selected">option 2</option>

You can also select multiple options:

    $htc->param(
        arrayref => [ ['opt_1','opt_2'], # selected
            ['opt_1', 'option 1'],
            ['opt_2', 'option 2'],
        ],
    );

If you have values and labels equal (for example in a year-select), you can use this syntax:

    $htc->param(
        arrayref => [ 2007, # selected
            '2005',
            '2006',
            '2007',
        ],
    );

    Output:
    <option value="2005">2005</option>
    <option value="2006">2006</option>
    <option value="2007" selected="selected">2007</option>
HTML_SELECT
    <tmpl_html_select select SELECT_ATTR="class='myselect'">

    $htc->param(
        select => {
            name => 'foo',
            value => 'opt_1',
            options => [
                ['opt_1', 'option 1'], # or use simple scalars if values and labals are equal
                ['opt_2', 'option 2'],
            ],
        },
    );

    Output:
    <select name='foo' class='myselect'>
    <option value="opt_1" selected="selected">option 1</option>
    <option value="opt_2">option 2</option>
    </select>
HTML_OPTION_LOOP

I'm using tt-style syntax here (see option tagstyle in HTML::Template::Compiled) for readability:

    <select name="foo">
    [%html_option_loop arrayref%]
    <option value="[%= value%]" [%= selected%] >[%= label %]</option>
    [%/html_option_loop%]
    </select>

    $htc->param(
        arrayref => [ 'opt_2',
            ['opt_1', 'option 1'], # or use simple scalars if values and labals are equal
            ['opt_2', 'option 2'],
        ],
    );

    Output:
    <select name="foo">
    <option value="opt_1" >option 1</option>
    <option value="opt_2" selected="selected">option 2</option>
    </select>
HTML_BOX_LOOP

I'm using tt-style syntax here for readability:

    [%html_box_loop arrayref%]
    <checkbox name="foo" value="[%= value%]" [%= selected%] >[%= label %]
    [%/html_box_loop%]

    $htc->param(
        arrayref => [ 'opt_2',
            ['opt_1', 'option 1'], # or use simple scalars if values and labals are equal
            ['opt_2', 'option 2'],
        ],
    );

    Output:
    <checkbox name="foo" value="opt_1" >option 1
    <checkbox name="foo" value="opt_2" checked="checked">option 2

This can also be used with radio boxes. Code is the same.

HTML_TABLE
    Easy example:
    <tmpl_html_table arrayref>

    Example with all possible attributes:
    <tmpl_html_table arrayref
    header=1
    table_attr="bgcolor='black'"
    tr_attr="bgcolor='red'"
    th_attr="bgcolor='green'"
    td_attr="bgcolor='green'" >

    $htc->param(
        arrayref => [
            [qw(foo bar)], # table header
            [qw(foo bar)],
            [qw(foo bar)],
        ],
    );

    Output:
    <table bgcolor='black'>
    <tr bgcolor='red'>
    <th bgcolor='green'>foo</th><th bgcolor='green'>bar</th>
    </tr>
    <tr bgcolor='red'>
    <td bgcolor='green'>foo</td><td bgcolor='green'>bar</td>
    </tr>
    ...
    </table>

EXAMPLES ^

See the examples directory in this distribution.

METHODS ^

register

gets called by HTC

AUTHOR ^

Tina Mueller

COPYRIGHT AND LICENSE ^

Copyright (C) 2006 by Tina Mueller

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.3 or, at your option, any later version of Perl 5 you may have available.

syntax highlighting: