Код: Выделить всё
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 работает