LoginSignup
1
0

More than 3 years have passed since last update.

ECCUBE4 のコアコードに手を加えて twig にグローバル変数を登録する簡単な方法

Last updated at Posted at 2020-05-22

はじめに

タイトルの通りEC-CUBE4のコアコードをカスタマイズしてtwigで扱えるグローバル変数を追加します。
アップデートが単純に出来なくなるため、あまり褒められた方法ではないですが、他の方法が調べても出てこなかったためここに残しておきます。
このページを参考にする際は十分注意して下さい。
もっと良い方法があるならば教えていただけると嬉しいです。 

方法

src/Eccube/EventListener/TwigInitializeListener.phpを編集します。
例えばセッションから取ってきた値をグローバル変数に追加したい場合は以下のように追記します。
元からあるコードについてはほぼ省略しています。

TwigInitializeListener.php
private $session;
# 略
public function __construct(
# 略
    SessionInterface $session
) {
# 略
    $this->session = $session;
}

public function setFrontVariables(GetResponseEvent $event){
# 略
    $this->twig->addGlobal('Hoge', $this->session->get('hoge')); #twig にグローバル変数を追加
}

これだけでtwigで{{Hoge}}のようにすることが出来るようになります。

なお TwigInitializeListener.php__construct を編集した場合は prod 環境だと
bin/console cache:clear --nor-warmup
を実行しないとエラーが出るようなので注意して下さい。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0