Prestashop:如何在模块中包含块?
我有一个模块,我想在其中显示“blocknewproducts”。最好的选择是什么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
谢谢 好的,我们缺少更多信息,但我将在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?