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
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
-
Basic認証の.htaccess、.htpasswd生成ツールと解説
Basic認証を設定する際に必要となる.htaccess、.htpasswdファイルを生成するツール。ID、PASS、.htpasswdへのパスを入力することで編集する情報を生成します。
-
-
PHPで配列の値をダブルクオーテーションで囲んでimplodeでカンマ区切りにする方法
PHPで配列の値を、preg_replace関数でクォーテーションで囲み、implode関数で「,(カンマ)」で区切ってテキスト化する方法。この方法であれば配列が空でも分岐の処理は必要なし!
-
-
連想配列のキーも値もまとめてhtmlspecialchars()でサニタイズする関数の作成解説
PHPの配列・連想配列のキーと値をまとめてhtmlspecialchars()関数でサニタイズ(無害化、無毒化)を行う関数を作成。連想配列のキーはarray_map()関数でのサニタイズは無理。
-
-
PHPで特定の日間の日付を for、strtotimeで表示する
ある特定の間の日付の情報を for文、strtotimeを使って作成し、その解説をしています。
-
-
PHP画面が真っ白 header(“Location: $url”);
PHPの開発で header(“Location: $url”);を使うと画面が真っ白になる不具合が出る場合もあります。
-
-
ob_start、ob_get_contents関数でPHPの標準出力をバッファリング・変数に代入
標準出力をバッファリングし変数に代入することができるob_start()関数の解説。include()の処理をバッファリングすることで自由な場所に処理を記述することが可能。
-
-
sleepの秒指定は整数のみなので1.5秒はsleep、usleepを組み合わせる
PHPのプログラム処理を遅延させる「sleep()」は整数秒単位。「usleep()」は1秒未満のマイクロ秒単位。では「1.5」秒はどう表現するのか。「sleep()」「usleep()」を組み合わせる。その解説。
-
-
PHPのスクレイピングライブラリ「PHP Simple HTML DOM Parser」の使い方
PHPのスクレイピングライブラリ「PHP Simple HTML DOM Parser」の使い方を解説。要素を取得する方法、そこから属性を取得する方法を解説。また、マニュアルにはない注意点なども解説。
-
-
Smartyのテンプレート内の処理で計算、加工をする方法
Smartyのテンプレート上で変数を計算する、加工する方法を解説します。
-
-
ECCUBEの問い合わせフォームに任意の値を引数として渡す方法
ECCUBEのお問い合わせフォームに値を固有の情報を送りそれに基づいて処理をする方法を解説。ボタンの設置、受け取り側のテンプレート、プログラムのサンプルソースを提供。
Comment
ありがとうございました!無事に解決いたしました!