我正在使用prestashop 1.7,并为我的模块创建了一个前控制器。当我使用setTemplate时,它不包括页眉和页脚,而只是一个空白页。我已经在后台分配了一个页面到模块控制器,并且在模块中,我正在使用以下代码:
/modules/somemodules/controllers/front/moduleslist.php:
class somemodulesmoduleslistModuleFrontController extends ModuleFrontController
{
public function initContent(){
$this->context->smarty->assign(array(
'id' => 1,
));
$this->setTemplate('module:somemodules/views/templates/front/find-modules.tpl');
}
}
我在模板文件中尝试过的操作
/modules/somemodules/views/templates/front/find-modules.tpl:
{extends file='page.tpl'}
{block name='page_content'}
{{$id}}
{/block}
但是现在错误如未定义的语言,未定义的页面等。 有没有比重新定义所有这些方法更好的方法了?
答案 0 :(得分:1)
还必须调用父方法,以便初始化所有标准变量。
public function initContent()
{
parent::initContent();
$this->context->smarty->assign(array(
'id' => 1,
));
$this->setTemplate('module:somemodules/views/templates/front/find-modules.tpl');
}