我尝试了很多方法来创建我自己的模块,它有一个必须出现在header.tpl列中的钩子。不幸的是,我遵循哪个教程,它不起作用。我究竟做错了什么?例如我的步骤:
第1步:创建了我的模块事件
dir:prestashop \ modules \ events files:logo.gif,logo.png,events.tpl,events.php
在events.php中:
<?php
if (!defined('_PS_VERSION_'))
exit;
class Events extends Module
{
public function __construct()
{
$this->name = 'events';
$this->tab = 'front_office_features';
$this->version = '1.0';
$this->author = 'Dinizworld';
$this->need_instance = 0;
parent::__construct();
$this->displayName = $this->l('Dinizworld Events');
$this->description = $this->l('Upcoming events.');
$this->confirmUninstall = $this->l('Are you sure you want to delete this module?');
}
public function install()
{
return parent::install() && $this->registerHook('hookEvents');
}
public function hookEvents($params)
{
//return $this->display(__FILE__, 'events.tpl');
return "test message";
}
}
第2步:添加挂钩
在header.tpl的正确位置: {hook h ='hookEvents'}
步骤3在adminpanel中安装模块 我看到钩子被移植到我的模块上。
然后什么也没出现。当我尝试使用例如HOOK_HOME时,我的测试消息是可见的。但不是我自己的钩子。我做错了什么?
答案 0 :(得分:2)
尝试
$this->registerHook('events')
而不是
$this->registerHook('hookEvents')
修改强>
并在header.tpl
中{hook h='events'}