所有模板中的Smarty变量

时间:2018-02-08 13:27:45

标签: php html prestashop smarty

我正在为prestashop 1.6创建新模块。 我在extraCarrier hook上注册了这个模块(名为spedizioneassicurata)。 在安装功能中我

public function install()
{.....
     return parent::install() &&
            $this->registerHook('header') &&
            $this->registerHook('extraCarrier') &&
            Configuration::updateValue('spedizioneassicurata', '6');}

我也是:

public function hookDisplayLeftColumn($params)
{
    return $this->display(__FILE__, 'spedizioneassicurata.tpl');
}

public function hookDisplayHeader()
{
  $this->context->controller->addCSS($this->_path.'css/spedizioneassicurata.css', 'all');
}

public function hookextraCarrier($params)
{

    $summary = $this->context->cart->getSummaryDetails();
    $total_products = $summary['total_products_wt'];

    $tax_insurance = Configuration::get('spedizioneassicurata');

    $tot_ins = $total_products * $tax_insurance / 100; 
    $this->smarty->assign(array('tot_ins' => $tot_ins));

    return $this->display(__FILE__, 'spedizioneassicurata.tpl');
}

现在我能够在我的tpl文件中看到我的var tot_ins spedizioneassicurata.tpl 但是当从order-carrier.tpl(我选择运营商并且我看到我的var)时,我去订购 - 付款 - classic.tpl(其中有我的订单的简历以及我想检查我的变量的地方)我不喜欢#39;看到我的变量tot_ins

为什么?

我是否已在hookheader中初始化我的var?

1 个答案:

答案 0 :(得分:0)

这是一个范围问题,您无法访问模块模板外的变量。解决方案可能是使用另一个钩子,例如hookPayment。