backOffice 控制器中的 Prestashop 模块 RenderView
Prestashop module RenderView in backOffice Controller
我正在为 Prestashop 开发一个模块,这时我需要一个新的控制器。
我创建了它,没问题,但是现在我想在其中显示一些信息,问题就出现了。
我有这个非常基本的代码:
class PingdomProbeAdminController extends ModuleAdminController
{
public $name = "ProbeAdmin";
public function __construct()
{
$this->bootstrap = true;
$this->display = 'view';
$this->meta_title = $this->l('Create your new Probe');
$this->module = 'pingdom';
parent::__construct();
if (!$this->module->active)
Tools::redirectAdmin($this->context->link->getAdminLink('AdminHome'));
}
public function renderView()
{
$this->tpl_view_vars = array(
);
$this->base_tpl_view = 'probeAdmin.tpl';
parent::renderView();
}
}
我显然 probeAdmin.tpl
位于 modules/pingdom/views/templates/admin/pingdom/helpers/view/probeAdmin.tpl
但 Smarty 仍在抱怨 Unable to load template file 'helpers/view/probeAdmin.tpl'
...
谢谢你
您没有指定版本,但无论如何:
- 你的控制器 class 名称错误,应该是
AdminPingdomProbeController
并且文件名应该具有相同的名称 AdminPingdomProbeController.php
- 您放置模板文件的文件夹不正确,应该在
modules/pingdom/views/templates/admin/pingdom_probe/helpers/view/probeAdmin.tpl
.
如果您在 Admin
和 Controller
之间使用了驼峰式控制器名称,您的模板文件夹需要小写并且用下划线替换驼峰式。
编辑:
您的 renderView
方法中也缺少 return
。
return parent::renderView();
我正在为 Prestashop 开发一个模块,这时我需要一个新的控制器。
我创建了它,没问题,但是现在我想在其中显示一些信息,问题就出现了。
我有这个非常基本的代码:
class PingdomProbeAdminController extends ModuleAdminController
{
public $name = "ProbeAdmin";
public function __construct()
{
$this->bootstrap = true;
$this->display = 'view';
$this->meta_title = $this->l('Create your new Probe');
$this->module = 'pingdom';
parent::__construct();
if (!$this->module->active)
Tools::redirectAdmin($this->context->link->getAdminLink('AdminHome'));
}
public function renderView()
{
$this->tpl_view_vars = array(
);
$this->base_tpl_view = 'probeAdmin.tpl';
parent::renderView();
}
}
我显然 probeAdmin.tpl
位于 modules/pingdom/views/templates/admin/pingdom/helpers/view/probeAdmin.tpl
但 Smarty 仍在抱怨 Unable to load template file 'helpers/view/probeAdmin.tpl'
...
谢谢你
您没有指定版本,但无论如何:
- 你的控制器 class 名称错误,应该是
AdminPingdomProbeController
并且文件名应该具有相同的名称AdminPingdomProbeController.php
- 您放置模板文件的文件夹不正确,应该在
modules/pingdom/views/templates/admin/pingdom_probe/helpers/view/probeAdmin.tpl
.
如果您在 Admin
和 Controller
之间使用了驼峰式控制器名称,您的模板文件夹需要小写并且用下划线替换驼峰式。
编辑:
您的 renderView
方法中也缺少 return
。
return parent::renderView();