Re: Re: Extending HTML_Template_IT not working anymore

From: Date: Wed, 14 Apr 2010 11:20:50 +0000
Subject: Re: Re: Extending HTML_Template_IT not working anymore
References: 1 2 3 4  Groups: php.pear.general 
Request: Send a blank email to pear-general+get-30459@lists.php.net to get a copy of this message
OK, kind of found uot what changed (in behaviour) in HTML_Template_IT. In my main index.php I had something like this: $cascara = new Cascara; // This is the Cascara Class from an early mail. // A bunch of internal property definition ... // Hear comes the problem. $cascara->setVariable("BIBLIO",$operador->getNombreBiblioteca()); $cascara->setVariable("TITULO","Sistema de Prestamos de Bibliotecas"); $cascara->parseCascara(); $cascara->setVariable("VERSION",$versionSigesbi); $cascara->show(); // END With this code, {VERSION} in the HTML file didn't get set to what's in $versionSigesbi. parseCascara() gets a main block and set's 3 HTML variables parsing the block. The solution I found was to switch the setVariable() and parseCascara() lines. Like this: $cascara->setVariable("VERSION",$versionSigesbi); $cascara->parseCascara(); This made the last setVariable work, but why? Why did it stop working all the sudden? El día 13 de abril de 2010 11:38, Ward Morris <morris.ward@gmail.com> escribió: > Martin, you're probably going to have to dig in deeper and provide us with > better debugging information to help you.  Is anything output?  What do the > class variables look like before parsing?  Are you getting any errors? > > I'm really not familiar with HTML_Template_IT, but I don't see a parseJS() > function in the documentation.  Not sure what class contains that function > in your application or what it's doing. > > 2010/4/13 Martín Marqués <martin.marques@gmail.com> >> >> 2010/4/9 Gregory Currie <gregory.currie@gmail.com>: >> > >> > Martín, >> > >> > I believe you are using incorrect syntax for calling a parents >> > constructor. >> > >> > The constructor code should look something like this (with php 5.3): >> > >> > function __construct($html_dir="",$template_file=""){ >> > >> >    parent::__construct($html_dir); >> > >> >    if ($template_file!=="") { >> >        $this->loadTemplatefile($template_file,true,true); >> >    } >> > >> > } >> > >> > Please try that and let us know how you go. >> >> OK, I changed some things. First I'll explain the extends of my clases: >> >> HTML_UNL extends HTML_Template_IT >> Cascara extends HTML_UNL >> printLogin extends Cascara >> >> Now this is what I have in each one of these Classes: >> >> class HTML_UNL EXTENDS HTML_Template_IT { >> >>  function __construct($html_dir="",$template_file=""){ >>    // Llamamos al contructor del padre, por si las moscas >>    parent::__construct($html_dir); >> >>    if($template_file!==""){ >>      // Cargo la plantilla >>      $this->loadTemplatefile($template_file,true,true); >>    } >>  } >> ... >> } >> >> >> Class Cascara EXTENDS HTML_UNL { >> >>  function __construct($plantilla = false){ >>    // Llamamos al contructor del padre, por si las moscas >>    parent::__construct("templates"); >> >>    // Cargo la plantilla >>    if($plantilla === false) >>      $this->loadTemplatefile("cascara.html",true,true); >>    else >>      $this->loadTemplatefile($plantilla,true,true); >>  } >> ... >> } >> >> >> class printLogin extends Cascara { >> >>  function __construct(){ >>    // Llamamos al contructor del padre, por si las moscas >>    // Cargamos la plantilla >>    parent::__construct("login.html"); >> >>    // The methods below come from the parent >> >>    // Mandamos el mensaje de error si hace falta. >>    $this->fallo(); >> >>    $this->addJSFile("js/verifform.js"); >>    $this->addJSFile("js/setfocus.js"); >>    $this->parseJS(); >>    $this->setForm(); >> >>  } >> ... >> } >> >> No luck. Variables outside of defined blocks don't get parsed with >> setVariable() >> -- >> Martín Marqués >> select 'martin.marques' || '@' || 'gmail.com' >> DBA, Programador, Administrador >> >> -- >> PEAR General Mailing List (http://pear.php.net/) >> To unsubscribe, visit: http://www.php.net/unsub.php >> > > > > -- > Ward Morris > > morris.ward@gmail.com > mobile: (573) 434-1056 > -- Martín Marqués select 'martin.marques' || '@' || 'gmail.com' DBA, Programador, Administrador

« previous php.pear.general (#30459) next »