| Jifty documentation | Contained in the Jifty distribution. |
Jifty::View::Declare - Build views using Template::Declare
package MyApp::View;
use Jifty::View::Declare -base;
template 'index.html' => page {
{ title is 'Some Title' }
b { "The Index" };
};
Template::Declare is a templating system using a declarative syntax built on top of Perl. This provides a templating language built in a similar style to the dispatcher language in Jifty::Dispatcher, the model language in Jifty::DBI::Schema, and the action language in Jifty::Param::Schema.
To use this view system, you must declare a class named MyApp::View (where MyApp is the name of your Jifty application). Use this library class to bring in all the details needed to make it work:
package MyApp::View; use Jifty::View::Declare -base; # Your code...
For more details on how to write the individual templates, see Template::Declare and also Jifty::View::Declare::Helpers for Jifty specific details.
Jifty is Copyright 2005-2010 Best Practical Solutions, LLC. Jifty is distributed under the same terms as Perl itself.
| Jifty documentation | Contained in the Jifty distribution. |
package Jifty::View::Declare; use strict; use warnings; use constant BaseClassName => 'Jifty::View::Declare::BaseClass';
sub import { my ($class, $import) = @_; ($import and $import eq '-base') or return; no strict 'refs'; my $pkg = caller; Jifty::Util->require(BaseClassName); push @{ $pkg . '::ISA' }, BaseClassName; strict->import; warnings->import; @_ = BaseClassName; goto &{BaseClassName()->can('import')}; }
1;