我正在为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'
......
Thant you
答案 0 :(得分:2)
你没有指定版本,但无论如何:
AdminPingdomProbeController
且文件名应具有相同的名称AdminPingdomProbeController.php
modules/pingdom/views/templates/admin/pingdom_probe/helpers/view/probeAdmin.tpl
。如果您在Admin
和Controller
之间使用了控制器名称,那么您的模板文件夹需要小写,并将camelcases替换为下划线。
修改强>
您的return
方法中也遗漏了renderView
。
return parent::renderView();