我想说我对prestashop很新。
我已经添加了FrontController.php来覆盖/ classes / controller。 该文件包含以下代码
class FrontControllerCore extends Controller
{
public function thefunct()
{
return 'AA';
}
}
现在在header.tpl中,我尝试使用{FrontController :: thefunct()}来调用该函数。
当我将公共函数放在类/控制器中时,它可以正常工作,但是当我将它放在override文件夹中时它不会。
如何在header.tpl中显示该功能? 那么覆盖文件夹如何工作呢?
答案 0 :(得分:1)
(我假设您使用ps 1.5)
如果你压倒FrontController
,你需要像这样开始上课
class FrontController extends FrontControllerCore
并删除cache/class_index.php
文件,(我的意思是,每次覆盖新的控制器或类时删除它)
自学how to override in ps
。通过优秀的文档。
修改强>
class FrontController extends FrontControllerCore {
//here you should create and assign variables which you want to use in templates
public function initContent()
{
parent::initContent();
//in such a way you assign variables into smarty template
$this->context->smarty->assign(
array(
'acme_variable' => $this->acme()
)
);
}
protected function acme()
{
return "Wile E. Coyote and The Road Runner";
}
}
//header.tpl
<div>{$acme_variable}</div>