2015.09.17
2017.05.23
ホームページ制作関連
EC-CUBE3でテンプレートファイルが反映されない場合の対処法
EC-CUBE3.0.3のタイトル出力を調整するためにEC-CUBE2系でいうところの「site_frame.tpl」を探していたところ、該当ファイルを以下に発見しました。
- src/Eccube/Resource/template/default/default_frame.twig
「default_frame.twig」をダウンロードし、テストとして27行目にあるタイトルタグの仕切り文字「/」を「-」に変更し、「app/template/default/」にアップロード。
<title>{{ BaseInfo.shop_name }}{% if subtitle is defined and subtitle is not empty %} / {{ subtitle }}{% elseif title is defined and title is not empty %} / {{ title }}{% endif %}</title>
↓
<title>{{ BaseInfo.shop_name }}{% if subtitle is defined and subtitle is not empty %} - {{ subtitle }}{% elseif title is defined and title is not empty %} - {{ title }}{% endif %}</title>
サイトを開いて確認したところ、うまくいっている感じです。
更新後に仕切り文字は「-」よりも「|」がいいかなと思い再度編集しアップしたのですが、変更が反映されませんでした。
テンプレートの変更をすぐに確認するにはキャッシュのクリアが必要
原因を探るためにまずはブラウザのキャッシュをクリアしましたが変化なし。
次にアップしたdefault_frame.twigファイルを削除しリロードしてみると、srcのテンプレートを読みに行くため「/」に戻ります。再度app配下にアップすると仕切り文字は「-」で表示。
なぞは深まるばかりですが、楽天市場の運用で変更が反映されるまでに時間がかかるケースを思い出し、サーバーにキャッシュファイルが生成されている事を疑いました。
サーバーに生成されるキャッシュファイルの削除
結論としては以下に生成されるキャッシュファイルを削除することですぐに反映を確認することができました。
- app/cache/twig/production/default/
上記フォルダ内には数字やアルファベット1文字のフォルダが複数格納されていましたが、全て削除しました。削除してもまた自動で生成されているのを確認できたので当面この方法で確認作業を行う予定ですが、もっと良い方法がありそうな予感です。