Labo

EC-CUBE3 分室

【3.0.11】テンプレートの変更

2016年10月23日 / 投稿者名:chiharu


今回はテンプレートの変更についてです。
当初の予定のプラグイン導入から毎回離れていく気がしています・・・
とは云え、基礎を確認しておかないとプラグインどころではありませんからね(笑)
 
それでは実際にテンプレートを触ってみましょう。
とは云ってもデザインセンスが皆無のため、システム的な部分だけですが・・・
 
 
EC-CUBE 3系の場合、初期のテンプレートが 2系と比べると随分きれいになっています。
まずは、このテンプレートが何処に有るかなのですが、以下の箇所に設置されています。
 /src/Eccube/Resource/template/default/
 
もちろん標準以外のテーマを使用する場合には、上記の<default>の部分がテーマ名に代わります。
2系で云うところの以下の Smarty テンプレートと同じということですね。
 /data/Smarty/templates/default/
 
 
さて、それでは「/src/Eccube/Resource/template/default/」を触ってみます。
まずは変更が分かりやすい部分ということで「index.twig」を開いてみます。
・・・おぉ~、twig の構文の詳細は不明ですが、内容を見る限りトップページのメイン画像表示部の様ですね。
ここの当たり障りのない部分にテキストを追加してみると、・・・無事に表示内容が変わりました。
 
基本はこんな形でデザインを変更して行ければ・・・
・・・・・・あれ、よく考えてみるとこのやり方ではダメですね。
以前に行った【3.0.10 → 3.0.11】 EC-CUBE3のバージョンアップでは「src」フォルダの全てを上書きしました。
今回の方法だとバージョンアップを行うたびにテンプレートの変更内容が初期化されてしまいます。
 
これではバージョンアップの度に、デザインの対応が必要になってしまいます。
恐らく対応する方法があると思います、ちょっと調べてみましょう。
 
 ・
 ・
 ・
 
いや~、さすがですね。
最初から対応方法が準備されていました。
しかも、対応方法は難しいものでは無く、非常にシンプルなものでした。
 
 
対応方法は以下の形になります。
まず、テンプレートフォルダの中から変更したいファイルを特定します。
次に、対象ファイルを以下のフォルダに設置します。
 /app/template/default/
 ※ 変更ファイルを設置する場合、「default」以下のフォルダ構成ごとコピーする必要があります。
 
これだけで変更内容の反映させることが出来るようになりました。
試しに変更を加えてみましたが問題無く対応出来ています。
これはちょっと便利です。
 
実際には、バージョンアップ時にテンプレートが変更される場合、デザイン変更部分も追随する必要はあります。
この辺はバージョンアップを行うと決めた以上仕方がないことですけどね。
・・・色々な意味で 2系の「_extends」フォルダを思い出すような気分です(笑)
 
 
なお、テンプレート情報は他にもプラグイン用の内容が以下の様な形で存在するようです。
 /app/plugin/<プラグイン名]>/Resource/template/
 
しかし、今のところプラグインにもたどり着けていない為、今回は割愛させて頂きます(笑)
 
 
次回は何を確認しようかなぁ・・・、と云う感じですね。
プラグインに入る準備段階にも関わらず面白くなってきました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

* Copy This Password *

* Type Or Paste Password Here *

*

コメント欄にコードを挿入したい場合は、[php][/php] を使ってください。