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
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
ECCUBE2.13.3で商品規格の在庫数が無制限から変更できないバグがある
2.13.3固有のバグである商品規格の在庫数の入力エリアがアクティブにならない不具合を解消する解説です。product_class.tplの2行を修正するだけの簡単対応です。
-
PHP range関数を使って階乗と重複組み合わせを計算
PHPの range関数を使って階乗と重複組み合わせを計算し、それを元に乱数発生器を作成しました。
-
Smartyのテンプレート内の処理で計算、加工をする方法
Smartyのテンプレート上で変数を計算する、加工する方法を解説します。
-
include、requireのパス指定をdirname(__FILE__)、__DIR__と書く理由
include、requireのパスの指定を dirname(__FILE__)、__DIR__で記述する理由に付いて解説。相対パス、絶対パスを直書き、パスを書かない場合は何が問題かを説明。
-
PHPでスクレイピング。phpQueryとphp-simple-html-dom-parserの比較と設置方法
「PHP スクレイピング」で検索すると「phpQuery」ばかりヒットするが、10年以上も放置されている。なので今も開発が続いている「PHP Simple HTML DOM Parser」をオススメする。
-
PHPのcURLでAPIやWebサイトへのアクセス方法。file_get_contentsとの比較
PHPからWebサイトにアクセスしてHTMLを取得、APIにアクセスして情報を取得する場合は、cURLがオススメ。file_get_contentsでも可能だがエラー制御に難がありトラブルのもとになる。
-
PHPのスクレイピングライブラリ「PHP Simple HTML DOM Parser」の使い方
PHPのスクレイピングライブラリ「PHP Simple HTML DOM Parser」の使い方を解説。要素を取得する方法、そこから属性を取得する方法を解説。また、マニュアルにはない注意点なども解説。
-
数値がMySQLのint(11)に保存できない!PHPの変数が本当にint型か確認!
PHPでintegerとdoubleが混在するような計算をする場合は要注意!計算結果が整数値であっても途中で使用する変数にdoubleの値が入っているときは計算結果がintegerではない場合があります。
-
XML形式の値を配列形式に変換・PHPでは simplexml_load_string()
XMLとは「Extensible Markup Language」の略でテキストベースのデータフォーマット。XMLをPHPで配列に変換するWebツールの紹介とその処理「simplexml_load_string()」関数についての解説。
-
指定した数で文字列を丸める(n文字目で…にする)関数substr、mb_substr、mb_strimwidthの違い
文字列を指定された数で抜き出すPHPの関数、substr、mb_substr、mb_strimwidthについての解説。似た関数だが引数の指定方法が違ったり、文字数がバイト数か文字数かも違ったり、注意が必要だ。
Comment
ありがとうございました!無事に解決いたしました!