如何将我的模块 Javascript 添加到 Prestashop 中的 *所有* 页面?
How to add my module Javascript to *all* pages in Prestashop?
我想向安装我的模块的商店中的所有页面添加 Javascript 功能。
我仔细阅读了 hooks,似乎没有一个 "display" 挂钩可以指望为商店中的每个页面调用 - 不同的页面有不同的挂钩。例如。我需要为 "Home page and general site pages" 使用 displayHeader
挂钩,但这不适用于产品页面。
有没有办法用一个挂钩来做到这一点,而不是针对特定页面类别的每个挂钩列表?
请注意,我不想为此使用主题,因为我的模块是商店的附加组件,而不是总体设计模板。
编辑:
我说 displayHeader
挂钩不适用于产品页面是错误的。确实,正如答案所说,这就是我需要使用的那个。
你仍然可以使用这个电话
$this->context->controller->addJS($this->_path.'your.js');
在模块 hookDisplayHeader()
方法中,它将在 js 文件列表中注册您的 js 文件,该列表将出现在例如header.tpl
循环 $js_files
P.S.
也不要忘记移动设备,例如:
public function hookDisplayMobileHeader()
{
return $this->hookHeader();
}
所以模块应该在 2 个挂钩 Header 和 mobileHeader 中注册以显示在所有设备上。
我想向安装我的模块的商店中的所有页面添加 Javascript 功能。
我仔细阅读了 hooks,似乎没有一个 "display" 挂钩可以指望为商店中的每个页面调用 - 不同的页面有不同的挂钩。例如。我需要为 "Home page and general site pages" 使用 displayHeader
挂钩,但这不适用于产品页面。
有没有办法用一个挂钩来做到这一点,而不是针对特定页面类别的每个挂钩列表?
请注意,我不想为此使用主题,因为我的模块是商店的附加组件,而不是总体设计模板。
编辑:
我说 displayHeader
挂钩不适用于产品页面是错误的。确实,正如答案所说,这就是我需要使用的那个。
你仍然可以使用这个电话
$this->context->controller->addJS($this->_path.'your.js');
在模块 hookDisplayHeader()
方法中,它将在 js 文件列表中注册您的 js 文件,该列表将出现在例如header.tpl
循环 $js_files
P.S.
也不要忘记移动设备,例如:
public function hookDisplayMobileHeader()
{
return $this->hookHeader();
}
所以模块应该在 2 个挂钩 Header 和 mobileHeader 中注册以显示在所有设备上。