Jifty::View::Declare - Build views using Template::Declare


Jifty documentation Contained in the Jifty distribution.

Index


Code Index:

NAME

Top

Jifty::View::Declare - Build views using Template::Declare

SYNOPSIS

Top

    package MyApp::View;
    use Jifty::View::Declare -base;

    template 'index.html' => page {
        { title is 'Some Title' }
        b { "The Index" };
    };

DESCRIPTION

Top

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.

SEE ALSO

Top

Jifty::View::Declare::Helpers, Template::Declare

LICENSE

Top

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;