Página 1 de 1
Can't call method "process" without a package
Publicado:
2011-10-26 22:16 @970
por danimera
Me sale este error
Can't call method "process" without a package or object reference at libs/CGI/Application/Plugin/TT.pm line 314.Estoy usando cgi-app y el
plugin de TT pero no sé por qué me sale ese error... y me lo indica en el propio módulo del
plugin.
Solo tengo esto en un método:
Using perl Syntax Highlighting
sub myrunmode {
my $self = shift;
my %params = (
menu => [
{ title => 'Home', href => '/home.html' },
{ title => 'Download', href => '/download.html' },
],
session_obj => $self->session,
);
return $self->tt_process('template.tmpl', \%params);
}
Coloreado en 0.002 segundos, usando
GeSHi 1.0.8.4
Re: Can't call method "process" without a package
Publicado:
2011-10-27 08:01 @375
por explorer
El error es debido a que el complemento no ha conseguido recuperar el objeto Template Toolkit, con tt_obj().
Algo ha pasado, que no se ha creado ese objeto.
Re: Can't call method "process" without a package
Publicado:
2011-10-27 08:46 @407
por danimera
Ya vi que cuando pruebo directamente el Template Toolkit me pasa lo mismo, y yo subí todo bien, el módulo está y lo carga pero obtengo el mismo error :S
Re: Can't call method "process" without a package
Publicado:
2011-10-27 14:11 @632
por explorer
Pero, ¿te ha funcionado en local?
Mirando el código, el responsable es tt_obj(), que a su vez llama a _get_object_or_options(), pero es en tt_obj() donde se crea el objeto Template Toolkit.
Re: Can't call method "process" without a package
Publicado:
2011-10-27 14:14 @635
por danimera
Pues ya no estoy usándolo desde el
plugin, ahora lo uso directo.
Using perl Syntax Highlighting
# create Template object
my $template = Template->new();
# define template variables for replacement
my $vars = {
var1 => $value,
};
my $input = 'myfile.html';
# process input template, substituting variables
$template->process($input, $vars)
|| die $template->error();
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Me sale lo mismo, claro que yo subí el template-toolkit manualmente al
server, porque no lo encontraba, y ahora pues no me marca error de módulo no encontrado, si no que me sale ese error de método.
Re: Can't call method "process" without a package
Publicado:
2011-10-27 18:43 @822
por explorer
Yo lo ejecutaría en local, con el depurador, paso a paso, hasta llegar a esa línea, y ver por qué tt_obj() no genera el objeto TT. O en vez de ir paso a paso, pondría un punto de ruptura (breakpoint) en tt_obj(), y analizar lo que hace.
He leído el manual del complemento y, aunque dice que tt_config() no es necesario llamarlo, quizás podría ser la causa de que te falle.
No sé...
Re: Can't call method "process" without a package
Publicado:
2011-10-28 05:05 @253
por danimera
En local funciona bien... :S -----
Creo que es ese
server que no me crea bien el objeto, porque cuando hago un
print dumper de $template... ¡ja!, no imprime nada...
seguro que lo instalé mal, pero bueno, ya usé HTML-Template... para no gastar más tiempo.
Re: Can't call method "process" without a package
Publicado:
2011-10-28 05:14 @260
por explorer
¿Has visto los logs?
Es posible que allí estén los mensajes de error...
Apuesto a que te faltó subir algún módulo