Dynamic Objects
詳細ページのブロックに対して異なるコンテンツとステータスを持つことができるオブジェクトは、ブロックマネージャーでDynamicオブジェクトとみなされます。
動的オブジェクトには、Products
、Pages
、Categories
、Vendors
、およびNews
の 5つがデフォルトのタイプとして定義されています。
HINT
Vendors
はマーケットプレイス版でのみ利用可能です
Dynamicオブジェクトを使用する理由
Products
(商品)を例としてみましょう。他のDynamicオブジェクトも同じように機能します。
商品編集ページでブロックのコンテンツを変更すると、その商品のみでコンテンツが保存されます。ブロックのコンテンツを編集すると、コンテンツが変更された場所が下に表示されます。追加のチェックボックスも表示され、そのチェックボックスをオンにすると、変更したコンテンツをグローバルに適用できます。
商品の編集ページでブロックを有効または無効にすると、ブロックの状態はその商品に対してのみ保存されます。
ブロックマネージャーでdispatch=products.view
を使用してロケーションのブロックを編集すると、ステータスタブを使用して、特定の商品のブロックを有効または無効にできます(グローバルに無効または有効になっている場合であっても可能です。)
Dynamicオブジェクトの仕組み
dynamic_objects.php
でオブジェクトについて記述すると、Dynamicオブジェクトが自動的に作成されます。dynamic_objects
スキーマに新しいオブジェクトを追加できます。商品の説明文は次のようになります。
ショップのユーザーがdispatch=products.view
でページをリクエストすると、CS-Cart
はそのページが商品のDynamicオブジェクトに属していると判断し、スクリプトに渡されたパラメーターのproduct_id
を探します。
product_id
がある場合、ページを生成するすべてのデータは、ブロックAPI、もしくは指定されたタイプおよび識別子を介してリクエストされます。
パラメーターまたはブロックのタイプがdispatch
によって判断できなかった場合、データはグローバルパラメーターを使用して、動的オブジェクトなしで生成されます。
最終更新