带页眉和页脚的Prestashop 1.7设置模板

时间:2018-09-13 15:50:48

标签: php oop prestashop smarty

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

但是现在错误如未定义的语言,未定义的页面等。 有没有比重新定义所有这些方法更好的方法了?

1 个答案:

答案 0 :(得分:1)

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

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

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

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