neo*_*o m 1 php templates module prestashop prestashop-1.7
我创建了一个名为gestionfournisseur的模块.我需要修改此模块中前端视图的某些部分.为此,我创建了两个文件:
1 - gestionfournisseur/controllers/front/display.php:这个文件内容我的控制器逻辑和herit ModuleFrontController
<?php
class gestionfournisseurdisplayModuleFrontController extends ModuleFrontController
{
public function initContent()
{
parent::initContent();
$this->setTemplate('display.tpl');
}
}
Run Code Online (Sandbox Code Playgroud)
2 - gestionfournisseur/views/templates/front/display.tpl:对我想要显示的视图进行内容.
Hello World!!
Run Code Online (Sandbox Code Playgroud)
我使用模块主文件中的以下指令生成了此页面的链接:
$this->name = 'gestionfournisseur';
$this->context->link->getModuleLink($this->name,'display')
Run Code Online (Sandbox Code Playgroud)
但是,prestashop给我一个很大的例外:找不到display.tpl的模板
如果它无法帮助你,我的变量$ this-> context-> smarty-> getTemplateDir()的内容如下所示:
array:1 [?
0 => "/my_hosts/manishop/themes/classic/templates/"
]
Run Code Online (Sandbox Code Playgroud)
请你能不能告诉我有什么问题?
谢谢
小智 5
你需要调用setTemplate()函数,如下所示:
class SupercheckoutFcontModuleFrontController extends ModuleFrontController
{
public function initContent()
{
parent::initContent();
$this->setTemplate('module:supercheckout/views/templates/front/order_detail.tpl');
}
}
Run Code Online (Sandbox Code Playgroud)
order_detail.tpl文件应包含以下代码:
{extends file=$layout}
{block name='content'}
YOUR_HTML_CONTENT_HERE
{/block}
Run Code Online (Sandbox Code Playgroud)