2014年10月10日金曜日

EC-CUBEの定数(パラメータ)設定について

SYSTEM_KDです。

前回の投稿で、次回はGMOの決済モジュール導入と書いたのですが、時間の都合で小ネタにします。

ということで、EC-CUBEの定数(パラメータ)設定(2.11系以降)についてという話になります。

EC-CUBEでパラメータ設定を変える場合、管理画面の「システム設定>パラメータ設定」より変えれると思いますが、この値がどこから取得されているかといいますと、もちろんデータベース上のテーブル「mtb_constants」なのですが、実際に動作するときには、このテーブルからは読み込まれていません。

では、どこから読み込まれているかといいますと、
data/cache/mtb_constants.php
というファイルから取得しています。

ですので、定数を直接変更したいという場合は、こちらをさわることになります。

ですが、このファイルはファイルがある場所から分かるかもしれませんが、キャッシュファイルになりますので、常にそのままではありません。
それこそ、管理画面からパラメータを更新すると、設定内容で書き換わってしまいます。

このままですと、わけがわからないと思いますので、整理しますと以下のような状態になっております。

[パラメータファイルにつてい]
まず、EC-CUBEインストール直後ですが、このタイミングでは、キャッシュフォルダへはパラメータのファイルがない状態になります。

では、キャッシュはどこから作成されるかといいますと、
data/mtb_constants_init.php
ファイルをもとに作成が行われます。

すなわち

1.EC-CUBEが動作開始

2.キャッシュのパラメータファイルを参照にいく

3.キャッシュにパラメータファイルがある場合は、パラメータファイルを読み込む。ファイルがない場合は、「data/mtb_constants_init.php」をキャッシュへコピーし読み込む

といった流れになっております。

ですが、上記とは別系統として、データベースへも定数情報を保持しており(mtb_constants)、管理画面よりパラメータの設定変更を行った場合は、このマスターの内容でキャッシュファイルを作成するといった流れになります。

ですので、カスタマイズにより、新たに定数値(パラメータ)を追加する場合は、「data/mtb_constants_init.php」へ追加すると共に、マスターテーブル「mtb_constants」へも同様に値を追加してやる必要があります。
また、それとともにキャッシュのファイルを削除してやるというのが、無難な変更方法になるかと思います。

0 件のコメント:

コメントを投稿