EC-CUBE3.0の標準テンプレートでは、ロゴエリアはブロックとして配置されており、コントローラと紐付けられていないため、内容を動的に変更するのが若干手間となっています。

今回はh1タグをここに配置したまま商品名やカテゴリ名を動的に入れられるようにする方法をご紹介します。

考え方としては色々ありますが、今回はTwigのグローバル変数を使用してみます。

修正するファイルは2つ、Application.phpとBlock/logo.twigです。

 

src/Eccube/Application.php

twigインスタンスに’PageLayout’や’title’をaddGlobalしている部分を探して、下に追記します。

下記コードは商品詳細ページのアクセスの場合のみ、custom_h1という全テンプレート内で使用できるグローバルな変数をtwigへ渡します。

 

※H1に関するコードを一箇所にまとめたかったのでApplicationに書きましたが、ProductControllerのdetailメソッドに下記を書けば結果は同じです。(商品詳細ページの場合)

 

Block/logo.twig

テンプレート側では、custom_h1が存在すればcustom_h1を、存在しなければショップ名をh1タグへ表示します。

 

以上でロゴブロック内のh1タグを商品名が入った形に変更可能です。

やや力技ですが、ブロックにデータを渡したい時に役立ちます。

EC-CUBE3をご利用の方は是非お試しください。

関連するカスタマイズ

商品価格を税抜表示に変更する方法 商品一覧ページ・商品詳細ページの表示価格を税抜き価格・税別表記にするには、Product/detail.twigとProduct/list.twigに記載されている getPrice02IncTaxMin、getPrice02IncTaxMax、getPrice01IncTaxMin、getPri...
自動送信メールを複数の宛先に送る方法... EC-CUBE3ではメール送信はMailServiceというサービスクラスが担当しています。 メールの送信先は管理画面から変更できますが、複数の宛先へ送信したいなどの要望がある場合は、このMailServiceファイルを編集するかプラグインで処理を挟む必要があります。 実際の送信箇所のコ...
リファラーによってアクセスを制限する方法... 今回はEC-CUBE3でどのようにリファラーを取得するかというお話がメインです。 各ページのコントローラでは、リファラーを簡単に取得することができます。 コントローラーのアクションメソッドに次のような形で$request変数が渡されてきます。   この$reques...
管理者へ注文メール・問い合わせメールが届かない時の修正箇所... EC-CUBE3.0系では管理者へ注文メール・問い合わせメールが届かないという問い合わせがあります。 これはメール送信を担っているファイルである/src/Eccube/Service/MailService.php を修正することで解決できる可能性が高いです。 MailServiceファイ...