1Catalyst::View::Mason(3U)ser Contributed Perl DocumentatiCoantalyst::View::Mason(3)
2
3
4
6 Catalyst::View::Mason - Mason View Class
7
9 # use the helper
10 script/create.pl view Mason Mason
11
12 # lib/MyApp/View/Mason.pm
13 package MyApp::View::Mason;
14
15 use base 'Catalyst::View::Mason';
16
17 __PACKAGE__->config(use_match => 0);
18
19 1;
20
21 $c->forward('MyApp::View::Mason');
22
24 Want to use a Mason component in your views? No problem!
25 Catalyst::View::Mason comes to the rescue.
26
28 From the Catalyst controller:
29
30 $c->stash->{name} = 'Homer'; # Pass a scalar
31 $c->stash->{extra_info} = {
32 last_name => 'Simpson',
33 children => [qw(Bart Lisa Maggie)]
34 }; # A ref works too
35
36 From the Mason template:
37
38 <%args>
39 $name
40 $extra_info
41 </%args>
42 <p>Your name is <strong><% $name %> <% $extra_info->{last_name} %></strong>
43 <p>Your children are:
44 <ul>
45 % foreach my $child (@{$extra_info->{children}}) {
46 <li><% $child %></li>
47 % }
48 </ul>
49
51 new($app, \%config)
52 get_component_path
53 Returns the component path from $c->stash->{template} or
54 $c->request->match or $c->action (depending on the use_match setting).
55
56 process
57 Renders the component specified in $c->stash->{template} or
58 $c->request->match or $c->action (depending on the use_match setting)
59 to $c->response->body.
60
61 Note that the component name must be absolute, or is converted to
62 absolute (i.e., a / is added to the beginning if it doesn't start with
63 one).
64
65 Mason global variables $base, $c, and $name are automatically set to
66 the base, context, and name of the app, respectively.
67
68 render($c, $component_path, \%args)
69 Renders the given template and returns output, or a
70 HTML::Mason::Exception object upon error.
71
72 The template variables are set to %$args if $args is a hashref, or
73 $c->stash otherwise.
74
75 config
76
77 This allows you to to pass additional settings to the
78 HTML::Mason::Interp constructor or to set the options as below:
79
80 "template_extension"
81 This string is appended (if present) to "$c->action" when
82 generating a template path.
83
84 Defaults to an empty string.
85
86 Example: "template_extension => '.html'"
87
88 "always_append_template_extension"
89 Set this to a true value if you want "template_extension" to be
90 appended to the component path even if it was explicitly set.
91
92 Defaults to 0.
93
94 Example: "always_append_template_extension => 1"
95
96 "use_match"
97 Use "$c->request->match" instead of "$c->action" to determine which
98 template to use if "$c->stash->{template}" isn't set. This option
99 is deprecated and exists for backward compatibility only.
100
101 Currently defaults to 0. Old code should set this to 1 to avoid
102 breakage.
103
104 Example: "use_match => 0"
105
106 The default HTML::Mason::Interp config options are as follows:
107
108 "comp_root"
109 "$app->config->root"
110
111 "data_dir"
112 "File::Spec->catdir( File::Spec->tmpdir,
113 sprintf('%s_%d_mason_data_dir', $app, $<) )"
114
115 "allow_globals"
116 "qw/$c $name $base/"
117
118 If you add additional allowed globals those will be appended to the
119 list of default globals.
120
122 Catalyst, HTML::Mason, "Using Mason from a Standalone Script" in
123 HTML::Mason::Admin
124
126 Andres Kievsky "ank@cpan.org"
127 Sebastian Riedel "sri@cpan.org"
128 Marcus Ramberg
129 Florian Ragwitz "rafl@debian.org"
130 Justin Hunter "justin.d.hunter@gmail.com"
131
133 This program is free software, you can redistribute it and/or modify it
134 under the same terms as Perl itself.
135
136
137
138perl v5.12.0 2009-08-22 Catalyst::View::Mason(3)