catalyst::helper::view::ttsite(3pm) [debian man page]
Catalyst::Helper::View::TTSite(3pm) User Contributed Perl Documentation Catalyst::Helper::View::TTSite(3pm)NAME
Catalyst::Helper::View::TTSite - Helper for TT view which builds a skeleton web site
SYNOPSIS
# use the helper to create the view module and templates
$ script/myapp_create.pl view HTML TTSite
# add something like the following to your main application module
sub message : Global {
my ( $self, $c ) = @_;
$c->stash->{template} = 'message.tt2';
$c->stash->{message} ||= $c->req->param('message') || 'No message';
}
sub default : Private {
my ( $self, $c ) = @_;
$c->stash->{template} = 'welcome.tt2';
}
sub end : Private { # Or use Catalyst::Action::RenderView
my ( $self, $c ) = @_;
$c->forward( $c->view('HTML') );
}
DESCRIPTION
This helper module creates a TT View module. It goes further than Catalyst::Helper::View::TT in that it additionally creates a simple set
of templates to get you started with your web site presentation.
It creates the templates in root/ directory underneath your main project directory. In here two further subdirectories are created:
root/src which contains the main page templates, and root/lib containing a library of other template components (header, footer, etc.) that
the page templates use.
The view module that the helper creates is automatically configured to locate these templates.
Default Rendering
To render a template the following process is applied:
The configuration template root/lib/config/main is rendered. This is controlled by the "PRE_PROCESS" configuration variable set in the
controller generated by Catalyst::Helper::View::TTsite. Additionally, templates referenced by the "PROCESS" directive will then be
rendered. By default the following additional templates are set: root/lib/config/col, which defines color names and RGB their RGB values
and /root/lib/config/url, which defines site wide variables available to templates.
Next, the template defined by the "WRAPPER" config variable is called. The default wrapper template is located in root/lib/site/wrapper.
The wrapper template passes files with ".css/.js/.txt" extensions through as text OR processes the templates defined after the "WRAPPER"
directive: "site/html" and "site/layout".
Based on the default value of the "WRAPPER" directive in root/lib/site/wrapper, the following templates are processed in order:
o root/src/your_template.tt2
o root/lib/site/footer
o root/lib/site/header
o root/lib/site/layout
o root/lib/site/html
Finally, the rendered content is returned to the bowser.
METHODS
mk_compclass
Generates the component class.
mk_templates
Generates the templates.
SEE ALSO
Catalyst, Catalyst::View::TT, Catalyst::Helper, Catalyst::Helper::View::TT
AUTHOR
Andy Wardley <abw@cpan.org>
LICENSE
This library is free software. You can redistribute it and/or modify it under the same terms as perl itself.
NAME
[% class %] - Catalyst TTSite View
SYNOPSIS
See "[% app %]"
DESCRIPTION
Catalyst TTSite View.
AUTHOR
[% author %]
LICENSE
This library is free software. You can redistribute it and/or modify it under the same terms as Perl itself.
perl v5.14.2 2011-08-02 Catalyst::Helper::View::TTSite(3pm)
Check Out this Related Man Page
Catalyst::View::Email::Template(3pm) User Contributed Perl Documentation Catalyst::View::Email::Template(3pm)NAME
Catalyst::View::Email::Template - Send Templated Email from Catalyst
SYNOPSIS
Sends templated mail, based upon your default view. It captures the output of the rendering path, slurps in based on mime-types and
assembles a multi-part email using Email::MIME::Creator and sends it out.
CONFIGURATION
WARNING: since version 0.10 the configuration options slightly changed!
Use the helper to create your view:
$ script/myapp_create.pl view Email::Template Email::Template
For basic configuration look at "CONFIGURATION" in Catalyst::View::Email.
In your app configuration (example in YAML):
View::Email::Template:
# Optional prefix to look somewhere under the existing configured
# template paths.
# Default: none
template_prefix: email
# Define the defaults for the mail
default:
# Defines the default view used to render the templates.
# If none is specified neither here nor in the stash
# Catalysts default view is used.
# Warning: if you don't tell Catalyst explicit which of your views should
# be its default one, C::V::Email::Template may choose the wrong one!
view: TT
SENDING EMAIL
Sending email works just like for Catalyst::View::Email but by specifying the template instead of the body and forwarding to your
Email::Template view:
sub controller : Private {
my ( $self, $c ) = @_;
$c->stash->{email} = {
to => 'jshirley@gmail.com',
cc => 'abraxxa@cpan.org',
bcc => 'hidden@secret.com hidden2@foobar.com',
from => 'no-reply@foobar.com',
subject => 'I am a Catalyst generated email',
template => 'test.tt',
content_type => 'multipart/alternative'
};
$c->forward( $c->view('Email::Template') );
}
Alternatively if you want more control over your templates you can use the following idiom to override the defaults. If charset and
encoding given, the body become properly encoded.
templates => [
{
template => 'email/test.html.tt',
content_type => 'text/html',
charset => 'utf-8',
encoding => 'quoted-printable',
view => 'TT',
},
{
template => 'email/test.plain.mason',
content_type => 'text/plain',
charset => 'utf-8',
encoding => 'quoted-printable',
view => 'Mason',
}
]
HANDLING ERRORS
See "HANDLING ERRORS" in Catalyst::View::Email.
METHODS
generate_part
Generates a MIME part to include in the email. Since the email is template based every template piece is a separate part that is
included in the email.
process
The process method is called when the view is dispatched to. This creates the multipart message and then sends the message contents off
to Catalyst::View::Email for processing, which in turn hands off to Email::Sender::Simple.
TODO
ATTACHMENTS
There needs to be a method to support attachments. What I am thinking is something along these lines:
attachments => [
# Set the body to a file handle object, specify content_type and
# the file name. (name is what it is sent at, not the file)
{ body => $fh, name => "foo.pdf", content_type => "application/pdf" },
# Or, specify a filename that is added, and hey, encoding!
{ filename => "foo.gif", name => "foo.gif", content_type => "application/pdf", encoding => "quoted-printable" },
# Or, just a path to a file, and do some guesswork for the content type
"/path/to/somefile.pdf",
]
SEE ALSO
Catalyst::View::Email - Send plain boring emails with Catalyst
Catalyst::Manual - The Catalyst Manual
Catalyst::Manual::Cookbook - The Catalyst Cookbook
AUTHORS
J. Shirley <jshirley@gmail.com>
Simon Elliott <cpan@browsing.co.uk>
Alexander Hartmaier <abraxxa@cpan.org>
LICENSE
This library is free software, you can redistribute it and/or modify it under the same terms as Perl itself.
perl v5.14.2 2011-01-17 Catalyst::View::Email::Template(3pm)