カスタマイズしてると、「ページに何か決まった文字列を表示させたいけど、複数個所になるし、他人にテンプレートを触らせるのも怖いし。専用入力画面作るほどでもないけど、後々に自分以外の誰かが容易に変更できるようにしておきたい」といったケースが時々あります。例えば「会員価格を登録できるようにして欲しい」って言われたとして、「会員価格(税込):」という文字列は、商品一覧ページや商品詳細ページ・おすすめ商品ブロックなど、各所に埋め込まなければなりません。テンプレートに直書きでもいいんですが、管理画面から文字列を変更できた方がいい。というわけで、管理画面>システム設定>パラーメーター設定 に、項目を追加する方法をやってみます。
パラメーター設定の内容は、データベースの mtb_constants テーブルに格納されています。
構造はこんな感じ。
Table "public.mtb_constants" Column | Type | Modifiers ---------+----------+-------------------- id | text | not null name | text | rank | smallint | not null default 0 remarks | text | Indexes: "mtb_constants_pkey" PRIMARY KEY, btree (id)
id はパラメータのIDを、重複しない半角英数(英語は大文字)で決めます。
name はパラーメーターの実際の値です。
rank は並び順なので、適当な数値を入力。
remarks は補足説明文ですので、全角文字で説明文や語句を入れます。
なので、以下のようなSQLをphpMyAdmin 等のデータベース管理ソフトを使って流すといいです。
insert into mtb_constants values('CUSTOMER_PRICE_TITLE', '会員価格(税込):', 2000, '価格名称');
それから、管理画面>システム設定>パラメーター管理 を開き、ページの一番下あたりに新規項目が追加されているはずです。
ここで一度、管理画面>システム設定>パラメーター管理 で、「この内容で登録する」ボタンを押します。
これによって、mtb_constants の内容を元にキャッシュが更新されて、テンプレートで定義したパラメーターを使用できるようになります。
適当なテンプレートに以下のようなコードを書くと、値を出力することができます。
<!--{$smarty.const.CUSTOMER_PRICE_TITLE}-->