Home is for the experience. Projects are for the ones who are interested!

How To Access Variable in tpl files Prestashop

How To Access Variable in tpl files Prestashop

It's not that simple to access variable in header.tpl especially if you are beginner with Prestashop. To achive this task you need to override the Prestashop FrontController and there you can assign to smarty a new variable then you can call it in header.tpl.

To do that you have to go in: override -> controllers -> front, create a new file called FrontController.php and put the following code in it.

<?php

class FrontController extends FrontControllerCore{
  function init(){
    parent::init();
    $my_var = Configuration::get('my_option'); 
    self::$smarty->assign('my_option_name', $my_var);
  }
}
 

Now smarty will know about this variable, to call it in header.tpl you need to use the following line of code:

{var_dump($theme_facebook_url)};

Now you will can see the output for this variable. There is no problem with this function because you only override the core controller so there will be no problem with your code. If you have multiple options to assign you can assign directly an array using the following function:

function init(){
    parent::init();
    $var1 = Configuration::get('option_1_name'); 
    $var2 = Configuration::get('option_2_name');
    $var3 = Configuration::get('option_3_name');
    self::$smarty->assign(
      array(
        'assigned_var_1'   => $var1,
        'assigned_var_2'   => $var2,
        'assigned_var_3'   => $var3 
      )
    );
  }

Now all these variables will be accesible all over your main tpl files. If you have any problems with this code let the issue in comments section and I will try to help you.

Leave a Reply

Your email address will not be published. Required fields are marked *