2

presashop の新しいバージョン (1.7.0) を発見しました。

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

ただし、テーマでオーバーロードできません!

私に提案する手順はありますか?

ありがとう。

4

1 に答える 1

4

また私です!

したがって、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)。

また近いうちにお会いしましょう!

于 2016-11-15T16:11:44.110 に答える