EC-CUBE4の商品一覧のテンプレートをプラグインで用意したテンプレートに差し替える方法です。
まずは以下のコマンドでプラグインの雛形を作ります。
プラグインコードはなんでも良いのですが、今回は「ChangeTemplate」にしてください。
bin/console eccube:plugin:generate
テンプレートを用意
自動生成されたプラグイン一式内のResource/templateディレクトリ内にdefault/Product/list.twigファイルを設置してください。
商品一覧ページ
上記で作成したTwigファイルに差し替えるイベントを用意
Event.phpに以下のコードを追記してください。
<?php namespace Plugin\ChangeTemplate; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Eccube\Event\TemplateEvent; class Event implements EventSubscriberInterface { public function __construct(\Twig_Environment $twig) { $this->twig = $twig; } /** * @return array */ public static function getSubscribedEvents() { return [ 'Product/list.twig' => ['onTemplateRroductList', 999999] ]; } public function onTemplateRroductList(TemplateEvent $event) { $source = $this->twig->getLoader() ->getSourceContext("@ChangeTemplate/default/Product/list.twig") ->getCode(); $event->setSource($source); } }
以上で完成です。
プラグインのインストールと有効化
プラグインのインストールと有効化を行うと適用されます。