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

Your name is <% $name %> <% $extra_info->{last_name} %>

Your children are:

METHODS new 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 c<$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: "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. The default HTML::Mason::Interp config options are as follows: "comp_root" "$c->config->root" "data_dir" "File::Spec->tmpdir" SEE ALSO Catalyst, HTML::Mason, "Using Mason from a Standalone Script" in HTML::Mason::Admin AUTHOR Andres Kievsky "ank@cpan.org" Sebastian Riedel "sri@cpan.org" Marcus Ramberg Florian Ragwitz COPYRIGHT This program is free software, you can redistribute it and/or modify it under the same terms as Perl itself.