Kiyotaka Oku
Kiyotaka Oku
## 概要(Overview・Refs Issue) デフォルトでは商品情報はステータス(公開/非公開/廃番)によってフロントでの表示/非表示を切り替えているが、プラグインやカスタマイズで他の条件で表示制御を拡張できるようにする。 ## 方針(Policy) ### 商品の可視性を定義する抽象クラスProductVisibilityを追加 https://github.com/kiy0taka/ec-cube/blob/5f956d8506a496c15e6e80e5538a00bc2ef73645/src/Eccube/Service/Product/ProductVisibility.php 実装するメソッドは2つ - checkVisibility(Product) - 商品単体の可視性を判定する - createStatements($params, $queryKey) - `WhereCustomizer` で定義しているメソッド - 一覧検索時の条件を追加する すべてのProductVisibilityが表示を許可しないとフロントに表示されない。 ### 実装サンプル #### デフォルトの商品ステータスでの表示制御 https://github.com/EC-CUBE/ec-cube/blob/1b1a3b28cd79cd67e30b793f9d3290a45937487a/src/Eccube/Service/Product/StatusVisibility.php #### #4852...