NAME
Catalyst::View::Mason - Mason View Class
SYNOPSIS
# use the helper
script/create.pl view Mason Mason
# lib/MyApp/View/Mason.pm
package MyApp::View::Mason;
use base 'Catalyst::View::Mason';
__PACKAGE__->config(use_match => 0);
1;
$c->forward('MyApp::View::Mason');
DESCRIPTION
Want to use a Mason component in your views? No problem!
Catalyst::View::Mason comes to the rescue.
EXAMPLE
From the Catalyst controller:
$c->stash->{name} = 'Homer'; # Pass a scalar
$c->stash->{extra_info} = {
last_name => 'Simpson',
children => [qw(Bart Lisa Maggie)]
}; # A ref works too
From the Mason template:
<%args>
$name
$extra_info
%args>
Your name is <% $name %> <% $extra_info->{last_name} %>
Your children are:
% foreach my $child (@{$extra_info->{children}}) {
- $child
% }
METHODS
new($c, \%config)
process
Renders the component specified in $c->stash->{template} or
$c->request->match or $c->action (depending on the use_match setting) to
$c->response->body.
Note that the component name must be absolute, or is converted to
absolute (i.e., a / is added to the beginning if it doesn't start with
one).
Mason global variables $base, $c, and $name are automatically set to the
base, context, and name of the app, respectively.
render($c, $component_path, \%args)
Renders the given template and returns output, or a
HTML::Mason::Exception object upon error.
The template variables are set to %$args if $args is a hashref, or
$c->stash otherwise.
config
This allows you to to pass additional settings to the
HTML::Mason::Interp constructor or to set the options as below:
"template_extension"
This string is appended (if present) to "$c->action" when generating
a template path.
Example: "template_extension => '.html'"
"use_match"
Use "$c->request->match" instead of "$c->action" to determine which
template to use if "$c->stash->{template}" isn't set. This option is
deprecated and exists for backward compatibility only.
Currently defaults to 1, to avoid breaking older code, but new code
should always set this to 0.
The default HTML::Mason::Interp config options are as follows:
"comp_root"
"$c->config->root"
"data_dir"
"File::Spec->tmpdir"
"allow_globals"
"qw/$c $name $base/"
If you add additional allowed globals those will be appended to the
list of default globals.
SEE ALSO
Catalyst, HTML::Mason, "Using Mason from a Standalone Script" in
HTML::Mason::Admin
AUTHORS
Andres Kievsky "ank@cpan.org"
Sebastian Riedel "sri@cpan.org"
Marcus Ramberg
Florian Ragwitz "rafl@debian.org"
COPYRIGHT
This program is free software, you can redistribute it and/or modify it
under the same terms as Perl itself.