
みなさんこんにちは。
キンタ先生、今朝「華麗パン」とかいうナイスネームなカレーパンを食べました。
で、胃がね、ちょっとだけ、やられてます。
微妙に、ほんとに微妙に!・・・・・年齢を感じますね。
さて、今日はEC-CUBEのデザイン面をカスタマイズする上で、よく利用することになるテクニックの一つ、「Smarty(スマーティ)」についてお話します。
と、その前に、「Smartyって何やねん?」って、思ってらっしゃる方もいるかもしれませんので、ちょっとだけ、その辺りから入っていきましょう。
Smartyはテンプレです。
語弊を覚悟で言ってしまえば、Smary自体、デザインテンプレのためにあるようなものだ・・・ってことです。
そもそもEC-CUBEが、システム面とテンプレ面で振り分けて構築されています。
この構築の方法は、システム面はエンジニアが、テンプレ面はデザイナーが・・・というように、それぞれの得意分野でWebサイトを管理できるというメリットをもっていて、文字やレイアウトの調整ぐらいなら、気負わずデザイナーで行えるという利点があります。
でも、デザインテンプレートはデザイナーでも理解できるレベルのHTMLが殆どだったとしても、「商品名」や「詳細コメント」、「商品数」や「カテゴリID」などは、何らかの関数を用いてシステム側からひっぱり出さないといけません。
でないと、ただのHTMLですもんね(w
で、そこで登場するのが、Smarty!というわけです。
このSmartyを理解していけば、PHPで組まれたシステムを丸ごと把握することなく、デザインテンプレートをベースにして、比較的簡単な関数でデザイナーがデザイン構築作業を行えるようになります。
テンプレとは切っても切れない存在・・・。
Smartyがあるからテンプレは成り立っている・・・。
まさに、Smartyとテンプレは、「=(イコール)」のように切っても切れない関係ですね。
では、早速、EC-CUBEテンプレを見てるとけっこうな割合で出現する、そんな超基本的なSmartyを見ていきましょう。
<!--{$TPL_DIR}-->とはまた、さっきの記述とはちょっと違いますよね。
まぁ見ての通り、「smarty.const.」っていう部分が・・・ない。
これについては、実はEC-CUBEの管理画面の、とある箇所を見ると非常によく理解できたりします。
お手元にEC-CUBEがある方は(なんかヘンな言い方ですが・・・)、以下の画面を見てみてください。
「管理画面 → 基本情報管理 → パラメータ設定」
まぁ・・・なんと言いますか・・・頭の痛くなるような英数字がズラーーーっと書いてますね。
ちなみにこの画面は、EC-CUBE上で使われている定数を管理している画面です。
もちろん、ここで変更してしまうとWebサイトを転覆させかねないような定数もありますので、ここで変更できるのはそれを除いた“比較的転覆させにくい定数”になります。
とはいえ、あまり定数の知識に自信がない状態でここを触れると、当たり前のようにエラー・トラブルのもとになりますので、今のところはバキバキに変更を加えないようにしましょう。
で、<!--{$TPL_DIR}-->ですが・・・
この「パラメータ設定」の画面のどこかに、「TPL_DIR」という文字があります・・・
探してみてください。
ありました?
ああ・・・まだ見つからない?
ありましたか?
うぁ・・・見つかりませんか・・・(汗
見つからない場合は、次ページに画像を掲載していますので、それを参考にして探してみましょう。
はい、みなさん「TPL_DIR」を見つけたということで、お話を続けましょう。
ズバリ言ってしまえば、<!--{$TPL_DIR}-->とは、ここで指定されている定数を呼び出すSmartyです。
TPL_DIRという定数名に、以下のような複数の定数を足して当てているんですね。
以下に単刀直入に解説すると・・・
★★★★★ v2.3.3では 2009/01/28
レビュアー:love3
×「管理画面 → 基本情報管理 → パラメータ設定」
○「管理画面 → システム設定 → パラメータ設定」
のようです。
