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 は識別用の軸としてのみ扱い、表示差異は持ち込まない。