如何使Homeslider Banner在自定义挂钩位置工作

时间:2015-06-08 17:35:34

标签: hook prestashop prestashop-1.6

我对Prestashop很熟悉(熟悉Joomla,Virtuemart,Magento等,jQuery HTML CSS)......

我正在尝试创建自定义挂钩并将现有模块(homeslider)移植到其中。到目前为止,我已经设法创建了钩子,并显示了homeslider模块。但横幅未正确显示(横幅图像低于彼此) - 似乎没有正确调用js和css文件。我已经对这件事感到震惊了几天 - 重新定位了一些函数,比如hookdisplayHeader,hookdisplayTopColumn - 但我仍然得到相同的结果。

这是我到目前为止所做的:

注册胡克:

$this->registerHook('MondayTest')

叫钩:

public function hookMondayTest($params)
{
    if (!isset($this->context->controller->php_self) || $this->context->controller->php_self != 'index')
        return;

    if (!$this->_prepareHook())
        return false;

    return $this->display(__FILE__, 'homeslider.tpl');
    return "MondayTest5";
}

在footer.tpl中调用了钩子(用于测试目的):

{hook h="MondayTest"}

但它没有正常工作......我做错了什么?

请帮忙!非常感谢您的协助!

2 个答案:

答案 0 :(得分:1)

将模块从一个钩子“移动”到另一个自定义钩子的最安全方法是使用调用原始钩子处理程序方法

示例:

public function hookMondayTest($params)
{
    return $this->hookDisplayTopColumn($params);
}

如果要在自定义挂钩上更改模块的bahviour,则需要复制原始方法中的所有代码并相应地对其进行修改

答案 1 :(得分:1)

您应该在模块classe中创建一个返回所需内容的方法

public function hookMondayTest($params)
{
   return $this->hookDisplayHome($params);
}

然后你需要进入后台并将模块移植到你的钩子模块中 - 位置 - 移植模块