2026-06 Storefront コレクション表示順 補足仕様¶
位置づけ¶
本ドキュメントは、既存仕様書を補完する追加合意事項(正本補足)です。 Storefront の商品探索導線(ヘッダーメガメニュー / モバイルドロワー / 商品一覧サイドバー / ホームのコレクションブラウズ)に並ぶ、コレクションの表示順の決定ルールを明確化します。
Collection と Facet / custom field の責務境界は 2026-03 Collection / Facet / custom field の責務境界 を正本とし、本書はそのうち並び順の確定ルールだけを扱います。
合意日¶
- 2026年6月9日
決定事項¶
- コレクションの並び順は Vendure 標準の
Collection.positionを唯一の正本とする。表示順専用のカスタムフィールドや独自プラグインは設けない。 positionは Vendure Dashboard で各コレクションを編集して設定・変更する。- 並び順は 同一階層(同じ親を持つ兄弟コレクション)内で
position昇順に並べる。 - 子コレクションに
positionが設定されていないときは、親(祖先まで辿った)の表示順を継承する。 - 子コレクションに
positionが設定されているときは、親から継承する値より子自身の値を優先する(子が親を上書きする)。 - 親自身に
positionが無い場合は、さらに祖先を辿って継承する。継承できる祖先が無い最上位(親なし)で未設定のものは、末尾に並べる。 positionが同値のときは、取得順を保った安定した並びとする。
表示順ルールまとめ¶
| 観点 | 並び順 |
|---|---|
| 子に position あり | 子の値で並ぶ(親より優先) |
| 子に position なし | 親(祖先)の表示順を継承して並ぶ |
| 親も position なし | さらに祖先を辿って継承し、最上位でも無ければ末尾 |
| 同値 | 取得順(安定した並び) |
適用範囲と例外¶
- 本ルールは、最上位の区分(ブランド / 製品タイプ / キャンペーン)の配下に並ぶ子コレクション以降に適用する。
- 最上位の区分(root グループ)そのものの並びは
positionではなく、固定順(ブランド → 製品タイプ → キャンペーン)とする。区分の入れ替えはコード変更を伴う運用とし、Dashboard のpositionでは変更しない。 - コレクション内に並ぶ商品(ProductVariant)の並び順は本書の対象外(別軸で管理する)。
受け入れ観点¶
- Vendure Dashboard でコレクションの
positionを変更すると、Storefront の探索導線の並びへ反映されること。 - 同じ親を持つ子コレクションが
position昇順で並ぶこと。 position未設定の子コレクションが、末尾送りではなく親(祖先)の表示順を継承して並ぶこと。position設定済みの子コレクションが、親から継承する値より優先して並ぶこと。- 最上位区分の並び(ブランド → 製品タイプ → キャンペーン)が
positionの値に関わらず固定であること。
影響範囲¶
- Storefront ヘッダーメガメニュー / モバイルドロワー
- Storefront 商品一覧サイドバー
- Storefront ホームのコレクションブラウズ
- Vendure Collection の
position(Vendure Dashboard 上での運用)
関連実装ドキュメント¶
- 実装・データの流れ・回帰テスト: ヘッダー階層メニュー(Collection Tree 連動)