Jump to content

Smarty variabler


javamobiletech

Recommended Posts

Hej alle

 

Uanset hvad jeg gør - kan jeg kun "scope" / læse en smarty variable i samme template ???

Har prøvet global, root, include template etc. etc.

 

Problemet er der, når jeg bruger "assign vars" inde i templaten - ikke i PHP filen...

 

Virker fint, men kun i samme template fil:

 

A global variable is seen by all templates.

{assign var=foo value="bar" scope="global"}

Har ingen idé om hvorfor fx. en Smarty variable sat i header.tpl ikke kan læses af product.tpl

 

Heeelp please :(

Link to comment
Share on other sites

  • 2 months later...

Hej igen,

 

Dette gælder Prestashop 1.5:

  1. Åben FrontController.php i controller mappen (override/classes/controller/)
  2. Indsæt dette
    		public function process()
    		{
    			$this->context->smarty->assign(array('foo' => 'bar'));
    		}
    


  3. De steder hvor FrontController bruges kan du nu outputte bar blot ved at skrive {$foo}

 

Såfremt der findes en bedre/smartere måde at lave en global variabel på, så vil jeg meget gerne vide hvordan.

Edited by Carlsen (see edit history)
  • Like 1
Link to comment
Share on other sites

Hej Carlsen

 

Tak for tippet. Det var faktisk lige hvad jeg også stod og skulle bruge :-)

Jeg fandt samtidig ud af, at hvis man skal bruge smarty variablen i en php-fil i stedet for en tpl-fil, så skal man bare gøre sådan her:

global $smarty;
$foo = $smarty->getTemplateVars('foo');

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...