首页 > 解决方案 > Prestashop 1.7 带有页眉和页脚的设置模板

问题描述

我正在使用 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}

但是现在错误就像未定义的语言,未定义的页面等。有没有更好的方法来做到这一点,而不是重新定义所有这些?

标签: phpoopprestashopsmarty

解决方案


您还必须调用父方法,以便初始化所有标准变量。

public function initContent()
{
    parent::initContent();

    $this->context->smarty->assign(array(
      'id' => 1,
    ));

    $this->setTemplate('module:somemodules/views/templates/front/find-modules.tpl');
}

推荐阅读