Catalyst Framework Perl - (parte 2)

Nessa segunda parte do artigo, vou mostrar como usar a View Catalyst::View::TT, que nada mais é que o Template Toolkit.

[ Hits: 7.999 ]

Por: Lucas em 07/12/2011


Configurar view



Entre no seu terminal e digite:

cd MyApp
$ script/myapp_create.pl view TT TT


Vai ter um retorno parecido com esse:
    exists "/home/user/sites/MyApp/script/../lib/MyApp/View"
    exists "/home/user/sites/MyApp/script/../t"
    created "/home/user/sites/MyApp/script/../lib/MyApp/View/TT.pm"
    created "/home/user/sites/MyApp/script/../t/view_TT.t"

Na primeira parte desse artigo, criamos o controller Welcome, agora vamos criar um controller chamado "Exemplo", para isso digite no seu terminal:

script/myapp_create.pl controller Exemplo

Vai ter um retorno parecido com esse:
    exists "/home/user/sites/MyApp/script/../lib/MyApp/Controller"
    exists "/home/user/sites/MyApp/script/../t"
    created "/home/user/sites/MyApp/script/../lib/MyApp/Controller/Exemplo.pm"
    created "/home/user/sites/MyApp/script/../t/controller_Exemplo.t"

Antes de começar a explicar o funcionamento, por padrão, o módulo 'Catalyst::View::TT' usa a extensão 'tt' para os templates, mas tem pessoas que gosta de salvar os templates com a extensão 'htm' ou 'html'. Para mudar a extensão, vá no diretório 'view' da sua aplicação e abra o arquivo 'TT.pm', você verá um código parecido a esse:

    package MyApp::View::TT;     use strict;     use warnings;     use base 'Catalyst::View::TT';     __PACKAGE__->config(         TEMPLATE_EXTENSION => '.tt',         render_die => 1,     );

Para alterar a extensão, mude o valor do parâmetro 'TEMPLATE_EXTENSION', exemplo: EMPLATE_EXTENSION => '.html'.

Abra o 'controller' Exemplo, você verá um código parecido a esse:

    sub index :Path :Args(0) {         my ( $self, $c ) = @_;         $c->response->body('Matched MyApp::Controller::Exemplo in Exemplo.');     }

Altere esse código por isso:

    sub index :Path :Args(0) {         my ( $self, $c ) = @_;         # array cores         my @cores = qw/Azul Vermelho Verde Amarelo Preto Cinza/;              # hash numeros         my %numeros = (             um => 1,             dois => 2,             tres => 3,             quatro => 4,             cinco => 5         );              # enviar escalar nome para o template         $c->stash->{nome} = 'Lucas';         # enviar array cores para o template         $c->stash->{cores} = \@cores;              # enviar hash numeros para o template         $c->stash->{numeros} = \%numeros;         # nome do arquivo, se mudou a extensão altere, ex: 'index.htm'         $c->stash->{template} = 'index.tt';              # formato da view         $c->forward('View::TT');     }

    Próxima página

Páginas do artigo
   1. Configurar view
   2. Usando escalar, array e hash com Template Toolkit
Outros artigos deste autor

Catalyst Framework Perl (parte 1)

Catalyst Framework Perl - Parte III

URL amigável com Perl

Configurando OTRS com PSGI/Plack e executando com Starman

Executando os principais frameworks Perl no cPanel com CGI

Leitura recomendada

Twittando com o Perl (parte 1)

Phperl, minha gambiarra para usar Perl como se fosse PHP

Programando uma Intranet com Apache, MySQL e Perl (parte 1)

Catalyst Framework Perl (parte 1)

Executando os principais frameworks Perl no cPanel com CGI

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário