コア設定およびアドオン設定に関するデータはデータベースに保存されます。これらデータを含むテーブルの名前はsettings_で始まります。
このsettings_sectionsテーブルには、設定が属するセクションのリストが含まれています。このテーブルには次のフィールドがあります。
section_id-セクションの識別子。parent_id-親セクションの識別子。edition_type— 設定のセクションが利用可能となる情報。このフィールドは、セクションがCS-Cart通常版/マーケットプレイス版で使用可能かどうか、および管理者が持つ必要があるアクセスレベルを決定します。このフィールドには、1つまたは複数の値をコンマで区切ることで含めることができます。(例:settings_:)name-セクションの名称position-設定セクションでの表示位置。type-セクションのタイプ:CORE—コア設定のセクションです。このタイプのすべてのセクションは、管理パネルの[設定]ページにリストアップされています。(settings.phpコントローラーを参照)ADDON-アドオン設定を含むセクションです。このタイプのセクションはすべて、ポップアップウィンドウまたは別のページに表示され、アドオンの設定が含まれます(addons.phpコントローラーを参照)。TAB-設定のサブセクション(タブ)です。コア設定とアドオン設定の両方にタブを設定できます。各サブセクションには、parent_idフィールドに親セクションのIDがあります。SEPARATE_TAB-設定のサブセクション(タブ)です。コア設定とアドオン設定の両方にタブを設定できますが、このタブは個別のコンテナとして追加されます。各サブセクションには、parent_idフィールドに親セクションのIDがあります。
データベースのエントリの例は次の表のとおりです。
| section_id | parent_id | edition_type | name | position | type |
|---|---|---|---|---|---|
| 4 | 0 | ROOT,VENDOR | Appearance | 20 | CORE |
管理パネルでセクションのIDを確認する方法は次のとおりです。
コア設定:[基本設定]ページに移動し、セクションを選択します。セクションの名前は、URLのsection_idパラメーターとしてブラウザーのアドレスバーに表示されます。
たとえば、表示設定セクションにはsection_idとしてAppearanceがあります。URLは次のようになります。example.com/admin.php?dispatch=settings.manage§ion_id=Appearance
アドオン設定:アドオン→アドオンの管理に進み、アドオンの歯車アイコンをクリックします。[アンインストール]アクションにカーソルを合わせると、ブラウザーウィンドウの下部にURLが表示されます。そのURLにはコードでアドオンを参照できる名前のaddonパラメーターが含まれます。
たとえば、「この商品を買った人はこんな商品も買っています」アドオンではアドオンのIDはcustomers_also_boughtと名付けられます。URLは次のようになります(この例にはURLの一部しか含まれていないことに注意してください):
&#xNAN;example.com/admin.php?dispatch=…&addon=customers_also_bought&…
settings_objectsテーブル
このsettings_objectsテーブルには、コア設定とアドオン設定のリスト、およびそれらの値が含まれています。このテーブルには、次の主要なフィールドがあります。
object_id-設定の識別子。edition_type— この設定が利用可能になるCS-Cartのエディションや権限に関する情報。name-設定の名称section_id-設定が属するセクションの識別子。section_tab_id-タブの識別子(設定がタブにある場合)。type-設定のタイプ。value-設定の値。position-設定の表示順
データベース内のエントリー例を次に示します— company_name([基本設定]→[運営会社]会社名):
| object_id | edition_type | name | section_id | section_tab_id | type | value | position |
|---|---|---|---|---|---|---|---|
| 1 | ROOT,ULT:VENDOR | company_name | 5 | 0 | I | 会社名 | 0 |
設定の識別子(object_id)を確認するには、設定のあるページのコードを表示します。たとえば、elements_per_page(1ページに表示するその他の要素数)の識別子を確認しましょう(一般設定表示設定)。
<画像>
設定上でマウスの右ボタンをクリックし、要素の検証を選択します。設定の識別子は、name属性の角括弧[]にあります。その値がobject_idです
<画像>
settings_variants テーブル
settings_variantsテーブルには、次の種類の設定の選択肢:selectbox、multiple select、multiple checkboxesのリストが含まれます。管理者は、設定の値として事前に定義された選択肢のいずれかを選択することができます。
たとえば、[基本設定]→[ログ]セクションに[ 注文]という設定があります。
選択された選択肢に関する情報は、log_type_ordersとして保存されています(settings_objectsテーブルを参照)。この設定で使用可能なすべての選択肢のリストはsettings_variantsに保存されます。
<画像>
object_idフィールドごとに、設定で可能なすべての値のリストを取得できます。テーブルに設定の選択肢がない場合、選択肢はvariant.functionsを介して動的に形成されることを意味します。
settings_descriptionsテーブル
このsettings_descriptionsテーブルには、セクションの名前、設定、選択肢、ツールチップの言語データが含まれています。テーブルの主なフィールドは次のとおりです。
- object_id-設定の識別子。
- object_type-次のタイプのいずれか:
- V-設定値のバリアントの名前。(settings_variantsテーブルを参照)
- O-設定の名前(settings_objectsテーブルを参照)。
- S-セクションの名前(settings_sectionsテーブルを参照)。
- lang_code-言語コード。
- value-指定された言語の設定/セクション/値の名前。
- tooltip-設定/セクション/値のツールチップ
このテーブルには、現在インストールされているすべての言語の情報が含まれています。
特定の値をデータベースで検索するときはobject_typeをlang_codeやobject_idと同様に考慮する必要があります。