Catalyst::View::HTML::Template

Модератор: Модераторы разделов

Аватара пользователя
gcc
Сообщения: 526
ОС: FreeBSD 8.0 CURRENT

Catalyst::View::HTML::Template

Сообщение gcc »

этот шаблон не хочет работать... Catalyst::View::HTML::Template

Код: Выделить всё

package MyApp::Controller::Hello;

use strict;
use warnings;
use parent 'Catalyst::Controller';


=head1 NAME

MyApp::Controller::Hello - Catalyst Controller

=head1 DESCRIPTION

Catalyst Controller.

=head1 METHODS

=cut


=head2 index

=cut

sub hello : Global {
    my ( $self, $c, @args ) = @_;

        __PACKAGE__->config(
        filename => '/home/ll/data/www/MyApp/root/hello.tt',
        die_on_bad_params => 1,
        file_cache        => 1,
        file_cache_dir    => '/tmp/cache'
    );
    my $word = $args[0] || 'Default word';
    $c->stash->{filename} = 'hello.tt';
    $c->config->{fiename} = '/home/ll/data/www/MyApp/root/hello.tt';
    $c->stash->{template} = '/home/ll/data/www/MyApp/root/hello.tt';
#    $c->config->{name} =
    #$c->request->match = '/home/ll/data/www/MyApp/root/hello.tt';
    $c->stash->{word}     = $word;
}


sub index :Path :Args(0) {
    my ( $self, $c ) = @_;

    $c->response->body();
}



=head1 AUTHOR

Charlie &

=head1 LICENSE

This library is free software, you can redistribute it and/or modify
it under the same terms as Perl itself.

=cut

1;


установил

Код: Выделить всё

perl myapp_create.pl view HTML::Template HTML::Template


запускаю как в книге

Код:

Caught exception in MyApp::View::HTML::Template->process "HTML::Template->new() : Cannot open included file hello : file not found. at /usr/local/lib/perl5/site_perl/5.8.8/HTML/Template.pm line 1658 HTML::Template::_init_template('HTML::Template=HASH(0x916a690)') called at /usr/local/lib/perl5/site_perl/5.8.8/HTML/Template.pm line 1238 HTML::Template::_init('HTML::Template=HASH(0x916a690)') called at /usr/local/lib/perl5/site_perl/5.8.8/HTML/Template.pm line 1124 HTML::Template::new('HTML::Template', 'filename', 'hello', 'path', 'ARRAY(0x93823b4)', 'cache', 1) called at /usr/local/lib/perl5/site_perl/5.8.8/Catalyst/View/HTML/Template.pm line 95 Catalyst::View::HTML::Template::render('MyApp::View::HTML::Template=HASH(0x9255284)', 'MyApp=HASH(0x93614e8)', 'hello') called at /usr/local/lib/perl5/site_perl/5.8.8/Catalyst/View/HTML/Template.pm line 59 Catalyst::View::HTML::Template::process('MyApp::View::HTML::Template=HASH(0x9255284)', 'MyApp=HASH(0x93614e8)') called at /usr/local/lib/perl5/site_perl/5.8.8/Catalyst/Action.pm line 46 Catalyst::Action::execute('Catalyst::Action=HASH(0x9381cf4)', 'MyApp::View::HTML::Template=HASH(0x9255284)', 'MyApp=HASH(0x93614e8)') called at /usr/local/lib/perl5/site_perl/5.8.8/Catalyst/Action.pm line 32 Catalyst::Action::__ANON__('MyApp::View::HTML::Template=HASH(0x9255284)', 'MyApp=HASH(0x93614e8)') called at /usr/local/lib/perl5/site_perl/5.8.8/Catalyst.pm line 1220 eval {...} called at /usr/local/lib/perl5/site_perl/5.8.8/Catalyst.pm line 1220 Catalyst::execute('MyApp=HASH(0x93614e8)', 'MyApp::View::HTML::Template', 'Catalyst::Action=HASH(0x9381cf4)') called at /usr/local/lib/perl5/site_perl/5.8.8/Catalyst/Action.pm line 41 Catalyst::Action::dispatch('Catalyst::Action=HASH(0x9381cf4)', 'MyApp=HASH(0x93614e8)') called at /usr/local/lib/perl5/site_perl/5.8.8/Catalyst/Dispatcher.pm line 177 Catalyst::Dispatcher::forward('Catalyst::Dispatcher=HASH(0x8fc21e8)', 'MyApp=HASH(0x93614e8)', 'MyApp::View::HTML::Template=HASH(0x9255284)') called at /usr/local/lib/perl5/site_perl/5.8.8/Catalyst.pm line 313 Catalyst::forward('MyApp=HASH(0x93614e8)', 'MyApp::View::HTML::Template=HASH(0x9255284)') called at /usr/local/lib/perl5/site_perl/5.8.8/Catalyst/Action/RenderView.pm line 54 Catalyst::Action::RenderView::execute('Catalyst::Action::RenderView=HASH(0x9330b5c)', 'MyApp::Controller::Root=HASH(0x910bf44)', 'MyApp=HASH(0x93614e8)') called at /usr/local/lib/perl5/site_perl/5.8.8/Catalyst/Action.pm line 32 Catalyst::Action::__ANON__('MyApp::Controller::Root=HASH(0x910bf44)', 'MyApp=HASH(0x93614e8)') called at /usr/local/lib/perl5/site_perl/5.8.8/Catalyst.pm line 1220 eval {...} called at /usr/local/lib/perl5/site_perl/5.8.8/Catalyst.pm line 1220 Catalyst::execute('MyApp=HASH(0x93614e8)', 'MyApp::Controller::Root', 'Catalyst::Action::RenderView=HASH(0x9330b5c)') called at /usr/local/lib/perl5/site_perl/5.8.8/Catalyst/Action.pm line 41 Catalyst::Action::dispatch('Catalyst::Action::RenderView=HASH(0x9330b5c)', 'MyApp=HASH(0x93614e8)') called at /usr/local/lib/perl5/site_perl/5.8.8/Catalyst/Controller.pm line 87 Catalyst::Controller::_END('MyApp::Controller::Hello=HASH(0x92516fc)', 'MyApp=HASH(0x93614e8)') called at /usr/local/lib/perl5/site_perl/5.8.8/Catalyst/Action.pm line 46 Catalyst::Action::execute('Catalyst::Action=HASH(0x9322380)', 'MyApp::Controller::Hello=HASH(0x92516fc)', 'MyApp=HASH(0x93614e8)') called at /usr/local/lib/perl5/site_perl/5.8.8/Catalyst/Action.pm line 32 Catalyst::Action::__ANON__('MyApp::Controller::Hello=HASH(0x92516fc)', 'MyApp=HASH(0x93614e8)') called at /usr/local/lib/perl5/site_perl/5.8.8/Catalyst.pm line 1220 eval {...} called at /usr/local/lib/perl5/site_perl/5.8.8/Catalyst.pm line 1220 Catalyst::execute('MyApp=HASH(0x93614e8)', 'MyApp::Controller::Hello', 'Catalyst::Action=HASH(0x9322380)') called at /usr/local/lib/perl5/site_perl/5.8.8/Catalyst/Action.pm line 41 Catalyst::Action::dispatch('Catalyst::Action=HASH(0x9322380)', 'MyApp=HASH(0x93614e8)') called at /usr/local/lib/perl5/site_perl/5.8.8/Catalyst/Dispatcher.pm line 177 Catalyst::Dispatcher::forward('Catalyst::Dispatcher=HASH(0x8fc21e8)', 'MyApp=HASH(0x93614e8)', '_END') called at /usr/local/lib/perl5/site_perl/5.8.8/Catalyst.pm line 313 Catalyst::forward('MyApp=HASH(0x93614e8)', '_END') called at /usr/local/lib/perl5/site_perl/5.8.8/Catalyst/Controller.pm line 51 Catalyst::Controller::_DISPATCH('MyApp::Controller::Hello=HASH(0x92516fc)', 'MyApp=HASH(0x93614e8)') called at /usr/local/lib/perl5/site_perl/5.8.8/Catalyst/Action.pm line 46 Catalyst::Action::execute('Catalyst::Action=HASH(0x931cf74)', 'MyApp::Controller::Hello=HASH(0x92516fc)', 'MyApp=HASH(0x93614e8)') called at /usr/local/lib/perl5/site_perl/5.8.8/Catalyst/Action.pm line 32 Catalyst::Action::__ANON__('MyApp::Controller::Hello=HASH(0x92516fc)', 'MyApp=HASH(0x93614e8)') called at /usr/local/lib/perl5/site_perl/5.8.8/Catalyst.pm line 1220 eval {...} called at /usr/local/lib/perl5/site_perl/5.8.8/Catalyst.pm line 1220 Catalyst::execute('MyApp=HASH(0x93614e8)', 'MyApp::Controller::Hello', 'Catalyst::Action=HASH(0x931cf74)') called at /usr/local/lib/perl5/site_perl/5.8.8/Catalyst/Action.pm line 41 Catalyst::Action::dispatch('Catalyst::Action=HASH(0x931cf74)', 'MyApp=HASH(0x93614e8)') called at /usr/local/lib/perl5/site_perl/5.8.8/Catalyst/Dispatcher.pm line 177 Catalyst::Dispatcher::forward('Catalyst::Dispatcher=HASH(0x8fc21e8)', 'MyApp=HASH(0x93614e8)', '/hello/_DISPATCH') called at /usr/local/lib/perl5/site_perl/5.8.8/Catalyst.pm line 313 Catalyst::forward('MyApp=HASH(0x93614e8)', '/hello/_DISPATCH') called at /usr/local/lib/perl5/site_perl/5.8.8/Catalyst/Dispatcher.pm line 116 Catalyst::Dispatcher::dispatch('Catalyst::Dispatcher=HASH(0x8fc21e8)', 'MyApp=HASH(0x93614e8)') called at /usr/local/lib/perl5/site_perl/5.8.8/Catalyst.pm line 1169 Catalyst::dispatch('MyApp=HASH(0x93614e8)') called at /usr/local/lib/perl5/site_perl/5.8.8/NEXT.pm line 75 NEXT::AUTOLOAD('MyApp=HASH(0x93614e8)') called at /usr/local/lib/perl5/site_perl/5.8.8/Catalyst/Plugin/Static/Simple.pm line 67 Catalyst::Plugin::Static::Simple::dispatch('MyApp=HASH(0x93614e8)') called at /usr/local/lib/perl5/site_perl/5.8.8/Catalyst.pm line 1512 eval {...} called at /usr/local/lib/perl5/site_perl/5.8.8/Catalyst.pm line 1503 Catalyst::handle_request('MyApp') called at /usr/local/lib/perl5/site_perl/5.8.8/Catalyst/Engine/HTTP.pm line 381 Catalyst::Engine::HTTP::_handler('Catalyst::Engine::HTTP=HASH(0x9012fc8)', 'MyApp', 3000, 'GET', '/hello', 'HTTP/1.1') called at /usr/local/lib/perl5/site_perl/5.8.8/Catalyst/Engine/HTTP.pm line 286 Catalyst::Engine::HTTP::run('Catalyst::Engine::HTTP=HASH(0x9012fc8)', 'MyApp', 3000, 'undef', 'HASH(0x8a00104)') called at /usr/local/lib/perl5/site_perl/5.8.8/Catalyst.pm line 1827 Catalyst::run('MyApp', 3000, 'undef', 'HASH(0x8a00104)') called at script/myapp_server.pl line 57"


тут http://search.cpan.org/~mramberg/Catalyst-...TML/Template.pm
написано что нужно добавить в root.pm $c->forward('MyApp::View::HTML::Template'); я не понял куда это нужно добавлять - не работает
(в книге не написано что это нужно добавлять)

наверное это нужно было в конец написал - я написал не работает!

в гугле мало что есть, как буд-то я первый кто использует этот шаблон с каталистом, хотя может я что-то пропустил?

если так:

Код: Выделить всё

   $c->response->body('Hello world');

то работает, но шаблоны не видны


с шаблоном TT работает
Спасибо сказали:
Аватара пользователя
gcc
Сообщения: 526
ОС: FreeBSD 8.0 CURRENT

Re: Catalyst::View::HTML::Template

Сообщение gcc »

в исходнике > Catalyst::View::HTML::Template А здесь смотрели? нужно опредлелить настройки

Код: Выделить всё

   my %options = (
        cache    => 1,
        die_on_bad_params => 0,
        filename => $filename,
        path     => [ $c->config->{root}, $c->config->{root} . "/base" ]
    );


в общем ничего сложного :drinks:
Спасибо сказали: