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: 8.793 ]

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

Executando os principais frameworks Perl no cPanel com CGI

URL amigável com Perl

Configurando OTRS com PSGI/Plack e executando com Starman

Catalyst Framework Perl - Parte III

Catalyst Framework Perl (parte 1)

Leitura recomendada

Phperl, minha gambiarra para usar Perl como se fosse PHP

Catalyst Framework Perl (parte 1)

Twittando com o Perl (parte 1)

Introdução a CGI com a RFC 3875

Executando os principais frameworks Perl no cPanel com CGI

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts