Prestashop 1.7 - переопределить контроллер модуля homelider (javascript hookdisplayHeader)

Я только что обнаружил новую версию presashop (1.7.0).

Я хотел бы использовать другой javascript, чем тот, который предлагается по умолчанию модулем homelider.

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]);
    }
}

Однако я не могу перегрузить его в своей теме!

У вас есть процедура, чтобы предложить мне?

Спасибо.


person Sébastien Varinois    schedule 14.11.2016    source источник
comment
Добро пожаловать в SO, пожалуйста, опубликуйте часть своего кода, так как вам легче помочь. Старайтесь публиковать только тот код, который имеет отношение к вашей проблеме.   -  person miltonb    schedule 14.11.2016


Ответы (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).

До скорого!

person Sébastien Varinois    schedule 15.11.2016