Prestashop:如何在模块中包含块?

Prestashop:如何在模块中包含块?,prestashop,prestashop-1.6,Prestashop,Prestashop 1.6,我有一个模块,我想在其中显示“blocknewproducts”。最好的选择是什么 谢谢 好的,我们缺少更多信息,但我将在Prestashop 1.6.x中分享一种方法: 您的模块: 假设您的模块安装方法中有一个名为displaymodule的自定义挂钩: public function install() { if (!parent::install() || !$this->registerHook('displayMyModule')) { return fa

我有一个模块,我想在其中显示“blocknewproducts”。最好的选择是什么


谢谢

好的,我们缺少更多信息,但我将在Prestashop 1.6.x中分享一种方法:

您的模块: 假设您的模块安装方法中有一个名为displaymodule的自定义挂钩:

public function install() {
    if (!parent::install() || !$this->registerHook('displayMyModule')) {
        return false;
    } else {
        return true;
    }
}
现在,您想在何处显示此挂钩的内容取决于您。例如,如果它位于类别页面上,则在category.tpl中添加

{hook::exec('displayMyModule')}
阻止新产品 现在,为了显示blocknewproducts,我们将创建此核心模块的覆盖,并注册
displayMyModule
挂钩:

/override/modules/blocknewproducts/blocknewproducts.php中:

if (!defined('_PS_VERSION_'))
    exit;

class BlockNewProductsOverride extends BlockNewProducts
{

    public function install()
    {
        $success = (parent::install() 
            && $this->registerHook('displayMyModule'));

        return $success;
    }

    public function hookDisplayMyModule($params)
    {
        return $this->hookRightColumn($params);
    }
}
hookDisplayMyModule
中,我们只返回hookRightColumn方法,不重写代码

不要忘记进入后台/模块并重新初始化blocknewproducts模块

就这样。。。但是请记住,您也可以覆盖blocknewproducts模块来注册已经存在的钩子,如上图所示


TLDR:如果你只是想在其他地方展示block新产品,也许你不需要模块。

是的,myModule不是为了这个目的,所以我还是需要它。。。非常感谢您的帮助@philDL您知道有没有办法通过jQuery获得blocknewproducts?