Prestashop 1.7.1-注册新挂钩
我试图在我的主题中显示一个顶部横幅(这不是默认的经典横幅) 具体地说,我修改header.tpl以包括以下内容(如在经典主题中):Prestashop 1.7.1-注册新挂钩,prestashop,prestashop-1.7,Prestashop,Prestashop 1.7,我试图在我的主题中显示一个顶部横幅(这不是默认的经典横幅) 具体地说,我修改header.tpl以包括以下内容(如在经典主题中): {block name='header\u banner'} {hook h='displayBanner'} {/block} 但是displayBanner并没有显示为将模块附加到其上的有效钩子。 我必须在别的地方登记钩子吗?如果是,代码是什么 这个问题进一步阐述。 谢谢,在模块安装方法中注册挂钩 例如,您可以在模块中执行以下操作: public functi
{block name='header\u banner'}
{hook h='displayBanner'}
{/block}
但是displayBanner并没有显示为将模块附加到其上的有效钩子。
我必须在别的地方登记钩子吗?如果是,代码是什么
这个问题进一步阐述。
谢谢,在模块
安装方法中注册挂钩
例如,您可以在模块中执行以下操作:
public function install()
{
$installed = (parent::install() && $this->registerHook('displayBanner'));
if ( $installed ) {
return true;
} else {
$this->uninstall();
return false;
}
}
然后卸载并重新安装模块。您需要将新挂钩添加到theme.yml中,并在其上设置模块,然后将主题重置为默认设计->主题和徽标->重置为默认设置。
theme.yml
挂钩:
模块\u至\u挂钩:
显示横幅:
-您的\u模块\u名称
警告:重置主题后,它看起来像是在theme.yml文件中设置的。如果您在管理面板中对主题外观做了任何更改,但没有将其包含在theme.yml中,则它们将丢失
public function install()
{
$installed = (parent::install() && $this->registerHook('displayBanner'));
if ( $installed ) {
return true;
} else {
$this->uninstall();
return false;
}
}