コンテンツにスキップ

Storefront variant selector の option group 意味付け方針

背景

  • ProductOptionGroup の code は今後動的に作成・運用される前提であり、color / size のような識別子の統制を現時点では前提にしない。
  • 一方で、Amazon のように option group の種類ごとに selector UI を描き分ける案(色は画像つき、サイズはテキストのみ等)は将来的に検討余地がある。
  • しかし現時点では、catalog 運用ルールと metadata 設計がまだ固まっていない。

決定事項

  • 当面は、Storefront の option group を同列に扱う。
  • 商品詳細の variant selector では、option group の code / name / 想定意味によって選択ボタンの見た目を描き分けない。
  • したがって、色・サイズ・容量・入数などの group は、現時点では 同じ selector UI で表示する。
  • 単一 variant 商品では option group は不要であり、複数 variant 商品を表現するときだけ option group を使う。

禁止事項

  • code = color のときだけ画像つきボタンにする、code = size のときだけテキストボタンにする、という 暗黙ルールを現時点で正本化しない
  • catalog 運用側で明示的な metadata が未整備のまま、表示差異を UI 実装へ埋め込まない。

将来拡張する場合の原則

  • 将来、option group ごとに selector UI を描き分ける必要が出た場合は、code のみを正本にせず、ProductOptionGroup / ProductOption の metadata を明示的に持つ。
  • 例:
  • ProductOptionGroup.customFields.selectorStyle = text | swatch | image
  • ProductOptionGroup.customFields.semanticRole = color | size | capacity | other
  • ProductOption.customFields.swatchHex
  • ProductOption.customFields.swatchImageAssetId
  • それまでは、option group は識別用の軸としてのみ扱い、表示差異は持ち込まない