我正在为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?
答案 0 :(得分:0)
这是一个范围问题,您无法访问模块模板外的变量。解决方案可能是使用另一个钩子,例如hookPayment。