Prestashop 1.5.4使用自定义钩子创建自定义模块

时间:2014-01-23 10:58:28

标签: php smarty hook prestashop

我尝试了很多方法来创建我自己的模块,它有一个必须出现在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时,我的测试消息是可见的。但不是我自己的钩子。我做错了什么?

1 个答案:

答案 0 :(得分:2)

尝试

$this->registerHook('events')

而不是

$this->registerHook('hookEvents')

修改

并在header.tpl

{hook h='events'}