Codebase list libcatalyst-view-mason-perl / HEAD
HEAD

Tree @HEAD (Download .tar.gz)

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>
        <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>

METHODS
  new($app, \%config)
  get_component_path
    Returns the component path from $c->stash->{template} or
    $c->request->match or $c->action (depending on the use_match setting).

  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.

        Defaults to an empty string.

        Example: "template_extension => '.html'"

    "always_append_template_extension"
        Set this to a true value if you want "template_extension" to be
        appended to the component path even if it was explicitly set.

        Defaults to 0.

        Example: "always_append_template_extension => 1"

    "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 0. Old code should set this to 1 to avoid
        breakage.

        Example: "use_match => 0"

    The default HTML::Mason::Interp config options are as follows:

    "comp_root"
        "$app->config->root"

    "data_dir"
        "File::Spec->catdir( File::Spec->tmpdir,
        sprintf('%s_%d_mason_data_dir', $app, $<) )"

    "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"
    Justin Hunter "justin.d.hunter@gmail.com"

COPYRIGHT
    This program is free software, you can redistribute it and/or modify it
    under the same terms as Perl itself.