EC-CUBEでの定数定義(define値定義)

EC-CUBEのカスタマイズや機能追加をしていると、define定義をしたい場合が出てきます。

そんな時、どのに定義すればいいのか。

通常は、プログラム内の定義ファイルなどに書くのですが、
EC-CUBEの場合、ちょっと変わっています。

私は、最初のころ、仕組みがよく分からず、とりあえず以下のファイルなどに
書いていました。
data/class/SC_Initial.phpのdefineConstantsメソッドや、
data/config/config.phpなど。

ここでも、動くことは動くのですが、ここで定義されているのは、システム全体に関わる定義で
たとえば個別ページや個別機能で使うような定義を入れると違和感を感じます。

で、色々と更に調べていると、実はEC-CUBEでは定義データはテーブルで管理していることが
わかりました。
そうなんですね。EC-CUBEでは、mtb_constantというテーブルでdefine定義のデータを管理していて、
ここにデータを追加すればOKなのです。
データ
idに定義名,nameに定義値を設定すれOKです。rankは表示順、remarksは管理者画面に表示される説明です。

が、しかし、データを登録するだけではダメで、
追加した後に、管理者画面⇒システム設定⇒パラメータ設定を開いて登録ボタンを押します。
パラメータ

そうすると、ちゃんと登録したデータが表示されます。

で、そうすると、実はここにそのデータが展開されるのですね。
data/cache/mtb_constants.php

コンスタント

なるほど〜。

コメントを残す

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