我创建了一个名为gestionfournisseur的模块。我需要修改此模块中前端视图的某些部分。为此,我创建了两个文件:
1 - gestionfournisseur/controllers/front/display.php
:此文件内容为我的控制器逻辑和herit ModuleFrontController
<?php
class gestionfournisseurdisplayModuleFrontController extends ModuleFrontController
{
public function initContent()
{
parent::initContent();
$this->setTemplate('display.tpl');
}
}
2 - gestionfournisseur/views/templates/front/display.tpl
:满足我想要显示的视图。
Hello World!!
我使用模块主文件中的以下说明生成了此页面的链接:
$this->name = 'gestionfournisseur';
$this->context->link->getModuleLink($this->name,'display')
但是,prestashop给我一个很大的例外:找不到display.tpl的模板
如果它无法帮助您,我的变量$ this-&gt; context-&gt; smarty-&gt; getTemplateDir()的内容如下所示:
array:1 [▼
0 => "/my_hosts/manishop/themes/classic/templates/"
]
请你告诉我这是什么问题?
感谢&#39; S
答案 0 :(得分:5)
您需要调用setTemplate()函数,如下所示:
class SupercheckoutFcontModuleFrontController extends ModuleFrontController
{
public function initContent()
{
parent::initContent();
$this->setTemplate('module:supercheckout/views/templates/front/order_detail.tpl');
}
}
order_detail.tpl文件应包含以下代码:
{extends file=$layout}
{block name='content'}
YOUR_HTML_CONTENT_HERE
{/block}
答案 1 :(得分:2)
经过一段时间和一些帮助,我找到了解决方案。
首先,你需要在她的回答中指出像@ventura show这样的模板:
$this->setTemplate('module:supercheckout/views/templates/front/order_detail.tpl');
其次,要在布局页面中包含模板,您需要extend
这样的page
模板:
{extends file='page.tpl'}
{block name="page_content"}
"trigger"
{/block}
答案 2 :(得分:0)
也许是这样的方式
$this->setTemplate('module:supercheckout/views/templates/front/order_detail.tpl');