OurNet::WebBuilder - Web rendering for BBS-based services


OurNet-Query documentation  | view source Contained in the OurNet-Query distribution.

Index


NAME

Top

OurNet::WebBuilder - Web rendering for BBS-based services

SYNOPSIS

Top

    use OurNet::WebBuilder;

    my $tmpl = {
        dir     => \%dir,
        article => \%article,
        cgi_url => CGI->url
    };

    my $opref = {
	'' => sub {
	    return '!view';
	},

	'view' => sub {
	    $tmpl->{'menu'} ||= param('curdir') || $dir{'oin'}[0]{id};
 	    $tmpl->{'curdir'} ||= param('curdir') || $dir{'oin'}[0]{id};
	    loadboard($tmpl->{'curdir'});

	    loadarticle(
		$_->{'id'},
		($tmpl->{'curdir'} eq 'bbs' ? $bbs 
					    : ($oin, $tmpl->{'curdir'})))
		foreach @{$dir{$tmpl->{'curdir'}}};

	    return 'view';
	}
    };

    OurNet::WebBuilder::Display($tmpl, $opref);

DESCRIPTION

Top

the method Display takes $tmpl, which is a variable pool, and $opref, which is hash of mapping from 'op' to the subroutine for that 'op'.

The op routine fill in the $tmpl with the varialbes it would like the variable pool to have, and returns the name of the template file that would be used. or if the return value begins with '!', the variable pool will be transit to the specified op again.

You may set $OurNet::WebBuilder::Backend to specify a specific rendering package. Currently, OurNet::Template, Template and HTML::Template are supported.

SEE ALSO

Top

OurNet::Template, Template, HTML::Template

AUTHORS

Top

Autrijus Tang <autrijus@autrijus.org>

COPYRIGHT

Top


OurNet-Query documentation  | view source Contained in the OurNet-Query distribution.