Prestashop 1.7 - 覆盖 homeslider 模块控制器(hookdisplayHeader javascript)
Posted
技术标签:
【中文标题】Prestashop 1.7 - 覆盖 homeslider 模块控制器(hookdisplayHeader javascript)【英文标题】:Prestashop 1.7 - override homeslider module controller (hookdisplayHeader javascript) 【发布时间】:2017-03-28 11:10:13 【问题描述】:我刚刚发现了新版本的 presashop (1.7.0)。
我想使用另一种 javascript,而不是 homeslider 模块默认建议的 JavaScript。
class Ps_ImageSlider extends Module implements WidgetInterface
public function hookdisplayHeader($params)
$this->context->controller->registerStylesheet('modules-homeslider', 'modules/'.$this->name.'/css/homeslider.css', ['media' => 'all', 'priority' => 150]);
$this->context->controller->registerJavascript('modules-responsiveslides', 'modules/'.$this->name.'/js/responsiveslides.min.js', ['position' => 'bottom', 'priority' => 150]);
$this->context->controller->registerJavascript('modules-homeslider', 'modules/'.$this->name.'/js/homeslider.js', ['position' => 'bottom', 'priority' => 150]);
但是,我不能在我的主题中重载它!
你有什么程序可以推荐给我吗?
谢谢。
【问题讨论】:
欢迎来到 SO,请发布您的一些代码,因为它更容易帮助您。尝试仅发布与您遇到的问题相关的代码。 【参考方案1】:又是我!
因此,在 Prestashop 的根目录下,存在一个名为:“./override/modules”的文件。我们只需添加一个文件夹“ps_imageslider”和一个文件“ps_imageslider.php”,然后输入以下代码:
<?php
class Ps_ImageSliderOverride extends Ps_ImageSlider
public function hookdisplayHeader($params)
$this->context->controller->registerStylesheet('modules-homeslider', 'modules/'.$this->name.'/css/homeslider.css', ['media' => 'all', 'priority' => 150]);
$this->context->controller->registerJavascript('modules-YOUR_JS', 'modules/'.$this->name.'/js/YOUR_JS.js', ['position' => 'bottom', 'priority' => 150]);
$this->context->controller->registerJavascript('modules-homeslider', 'modules/'.$this->name.'/js/homeslider.js', ['position' => 'bottom', 'priority' => 150]);
最后,你必须清空缓存。
对不起我的英语(我是法语 xD)。
再见!
【讨论】:
以上是关于Prestashop 1.7 - 覆盖 homeslider 模块控制器(hookdisplayHeader javascript)的主要内容,如果未能解决你的问题,请参考以下文章
Prestashop 1.7 - 覆盖 homeslider 模块控制器(hookdisplayHeader javascript)
如何在 prestashop 1.7 中添加 Mobile_Detect.php?