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);
}
}
以上で完成です。
プラグインのインストールと有効化
プラグインのインストールと有効化を行うと適用されます。
