Php backOffice控制器中的Prestashop模块RenderView
我正在为Prestashop开发一个模块,就在我需要一个新控制器的时候 我创建了它,没问题,但现在我想在其中显示一些信息,问题就出现了 我有一个非常基本的代码:Php backOffice控制器中的Prestashop模块RenderView,php,controller,prestashop,smarty,Php,Controller,Prestashop,Smarty,我正在为Prestashop开发一个模块,就在我需要一个新控制器的时候 我创建了它,没问题,但现在我想在其中显示一些信息,问题就出现了 我有一个非常基本的代码: class PingdomProbeAdminController extends ModuleAdminController { public $name = "ProbeAdmin"; public function __construct() { $this->bootstrap = true;
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仍然抱怨无法加载模板文件“helpers/view/probeAdmin.tpl”
您没有指定版本,但无论如何:
AdminpingDomProbeControl
,并且文件名应该具有相同的名称AdminpingDomProbeControl.php
modules/pingdom/views/templates/admin/pingdom\u probe/helpers/view/probeAdmin.tpl
中Admin
和controller
之间有camelcase控制器名称,则模板文件夹需要小写,camelcase替换为下划线
编辑:
您的renderView
方法中也缺少return
return parent::renderView();
您没有指定版本,但无论如何:
AdminpingDomProbeControl
,并且文件名应该具有相同的名称AdminpingDomProbeControl.php
modules/pingdom/views/templates/admin/pingdom\u probe/helpers/view/probeAdmin.tpl
中Admin
和controller
之间有camelcase控制器名称,则模板文件夹需要小写,camelcase替换为下划线
编辑:
您的renderView
方法中也缺少return
return parent::renderView();
谢谢,有没有文档可以让我找到创建BO模块控制器的详细说明?我确实做了修改,但唯一的结果是没有找到新页面。。。另外,我还模仿了我发现安装的另一个模块的控制器,名为
游戏化
,这一个运行良好…@BorisLeMéec你重新安装了你的模块并在tab安装中更正了控制器名称了吗?还没有,但我想看看一个官方的地方,在那里我可以找到这些信息。。。我非常不喜欢做不知道为什么的事情:/@BorisLeMéec那么你要找很长时间,因为官方文件很差。另外,我不知道你是如何模仿游戏化控制器的,因为它遵循了我在答案中写的命名约定,所以我已经完成了你所有的修改。看起来很管用,但是。我可以加载控制器,如果我更改$this->base\u tpl\u view='probe\u admin.tpl'对于不存在的文件名,它不起作用。这似乎合乎逻辑。但是在我的probe\u admin.tpl
中没有显示任何内容。谢谢,有没有文档可以让我找到创建BO模块控制器的详细说明?我确实做了修改,但唯一的结果是没有找到新页面。。。另外,我还模仿了我发现安装的另一个模块的控制器,名为游戏化
,这一个运行良好…@BorisLeMéec你重新安装了你的模块并在tab安装中更正了控制器名称了吗?还没有,但我想看看一个官方的地方,在那里我可以找到这些信息。。。我非常不喜欢做不知道为什么的事情:/@BorisLeMéec那么你要找很长时间,因为官方文件很差。另外,我不知道你是如何模仿游戏化控制器的,因为它遵循了我在答案中写的命名约定,所以我已经完成了你所有的修改。看起来很管用,但是。我可以加载控制器,如果我更改$this->base\u tpl\u view='probe\u admin.tpl'对于不存在的文件名,它不起作用。这似乎合乎逻辑。但是在我的probe\u admin.tpl
中没有显示任何内容。