|
NAMECatalyst::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');
DESCRIPTIONWant to use a Mason component in your views? No problem! Catalyst::View::Mason comes to the rescue. EXAMPLEFrom 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>
<p>Your name is <strong><% $name %> <% $extra_info->{last_name} %></strong>
<p>Your children are:
<ul>
% foreach my $child (@{$extra_info->{children}}) {
<li><% $child %></li>
% }
</ul>
METHODSnew($app, \%config)get_component_pathReturns the component path from $c->stash->{template} or $c->request->match or $c->action (depending on the use_match setting). processRenders 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:
The default HTML::Mason::Interp config options are as follows:
SEE ALSOCatalyst, HTML::Mason, "Using Mason from a Standalone Script" in HTML::Mason::Admin AUTHORSCOPYRIGHTCopyright (c) 2005 - 2009 the Catalyst::View::Mason "AUTHORS" as listed above. This program is free software, you can redistribute it and/or modify it under the same terms as Perl itself.
|