ECCUBE mtb_constants initパラメータ設定の項目を追加する方法
2014/06/26
ECCUBE システム設定 > パラメータ設定 の項目を追加する場合
更新対応をする必要があるファイル、テーブルは 3箇所
システム設定のパラメータ設定については、
/data/mtb_constants_init.php
/data/cache/mtb_constants.php
Databaseの mtb_constants
3か所で情報が管理されています。
管理画面の「システム設定」-「パラメータ設定」の画面に遷移した際に表示される情報は、DBの「mtb_constants」の項目と値です。
保存すると、もちろん DBの「mtb_constants」に値が保存されますが、加えて、「/data/cache/mtb_constants.php」にも情報が保存されます。
そして、実際の ECCUBEが動作する際に利用されているのは、「/data/cache/mtb_constants.php」のファイルです。
情報の管理更新にはデータベースを使っていますが、実際にサイトのページ表示などにはファイルに保存された情報を使っています。
これは、画面表示の度にデータベースにアクセスしていたのでは、データベースに負荷がかかりすぎて表示スピードが犠牲になるため、その対応策として実装されている仕組みです。
また、「/data/mtb_constants_init.php」は、これらの更新の作業において全く利用されていません。
ですが、このファイルは、データベースや「/data/cache/mtb_constants.php」のファイルが壊れた際にバックアップ用途として利用されるファイルになっていますので、定期的にメンテナンスをしておく必要があります。
「mtb_constants」に項目を追加する場合の具体的な手順
「mtb_constants」に項目を追加する場合の説明を行います。
値を修正するだけであれば、管理画面から値を修正すれば問題ありませんが、項目を増やしたい場合は、管理画面からの操作では対応できませんので、アナログ的な対応が必要になります。
例えば、
項目名「SAMPLE_ADDRESS_A」
値「市区町村名 (例:千代田区神田神保町)A」
の項目を、一番上の項目として設定する場合の対応手順を見ていきましょう。
まず、テーブル「mtb_constants」に値を追加します。
|
1 2 3 4 5 6 7 8 9 |
INSERT INTO `eccube_db`.`mtb_constants` ( `id` , `name` , `rank` , `remarks` ) VALUES ( 'SAMPLE_ADDRESS_A', '市区町村名 (例:千代田区神田神保町)A', '0', 'フロント表示関連' ); |
これで管理画面の「パラメータ設定」画面に、新規追加した項目と値が表示されるようになります。
「rank」の値は、表示の順番になっていますので、並べたい順番の番号を指定します。
すでにある数値を指定した場合は、すでに指定してある項目の次に編集されます。
この状態で、管理画面の情報を更新すると、「/data/cache/mtb_constants.php」ファイルが更新され、システム全体に反映されるようになります。
また、その更新した情報で問題がない場合は、「/data/cache/mtb_constants.php」の中身を「/data/mtb_constants_init.php」にコピペします。
その際、元の「/data/mtb_constants_init.php」はバックアップを取っておく方がいいでしょう。
これで、設定が終了します。
ちなみに、ECCUBEのファイル構造については、下記のサイトが参考になるのではないか、と思います。
http://www.eccube-school.jp/files.html
GoogleAdwords
GoogleAdwords
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
-
ECCUBEでアップロードできない。upload_max_filesizeを設定する場所
テンプレートをアップロードする際に発生するエラー「テンプレートファイルがアップロードされていません」の対処方法。これはファイル容量の制限に引っかかっています。
-
-
ECCUBEの新規追加ページがInternal Server Error・Not Foundに
ECCUBEで新規追加したページがInternal Server Errorに!原因はファイルのパーミッションの場合が多くその対処方法とプログラムの修正ポイントを解説。Not Foundも解説。
-
-
Smartyの修飾子regex_replaceで正規表現の後方参照・PHPではpreg_replace
ECCUBEで使われているSmartyで文字列を正規表現で置換し後方参照で値を利用する装飾子regex_replaceの解説です。細かな条件がありますので注意が必要です。
-
-
PHPで配列の値をダブルクオーテーションで囲んでimplodeでカンマ区切りにする方法
PHPで配列の値を、preg_replace関数でクォーテーションで囲み、implode関数で「,(カンマ)」で区切ってテキスト化する方法。この方法であれば配列が空でも分岐の処理は必要なし!
-
-
指定した数で文字列を丸める(n文字目で…にする)関数substr、mb_substr、mb_strimwidthの違い
文字列を指定された数で抜き出すPHPの関数、substr、mb_substr、mb_strimwidthについての解説。似た関数だが引数の指定方法が違ったり、文字数がバイト数か文字数かも違ったり、注意が必要だ。
-
-
cURLを利用する際の注意点「
&」があるURLは「”」で囲むcURLでURLはダブルクォーテーションで囲む。LinuxでもWindowsでもコマンドでは「&」は意味を持つ文字のためエラー原因になる。クォーテーションは常につけておく方が無難。
-
-
AdminerはphpMyAdmin代替のデータベース管理ツール
AdminerはphpMyAdminとほぼ同機能のデータベース管理ツール。PHP 1ファイルのため設置が非常に簡単で軽快に動作し、phpMyAdminの置き換えで使うのも問題なし。
-
-
PHPで特定の日間の日付を for、strtotimeで表示する
ある特定の間の日付の情報を for文、strtotimeを使って作成し、その解説をしています。
-
-
ECCUBE2.13.3で商品規格の在庫数が無制限から変更できないバグがある
2.13.3固有のバグである商品規格の在庫数の入力エリアがアクティブにならない不具合を解消する解説です。product_class.tplの2行を修正するだけの簡単対応です。
-
-
SEO対策用タイトル、ディスクリプションの文字数カウントツール
SEO対策に使える文字数カウントツールで文字数の条件の説明も行っています。
Comment
ありがとうございました!無事に解決いたしました!