通常価格を未入力にした状態で規格管理で非表示設定にすると、管理画面の商品一覧の価格が0円表示になる。
- Dominant language
- PHP
- Stars
- 788
- Forks
- 719
- Avg merge
- 4d 4h
- Merged PRs (30d)
- 39
Description
## 概要(Overview)
登録されている商品情報の通常価格を未入力にした。
その後、規格管理より非表示設定を行うと商品一覧の価格が0円になる。(※1)
追記
1)※1の状態でフロント側の商品一覧を見ると「カートに入れる」ボタンが「ただいま品切れ中です」と代わり、エンドユーザ、もしくは、規格管理が非表示になっている管理者が混乱する可能性もあるかもしれません。
no visibleだと、フロントの商品一覧画面の検索結果に出さないようにしているため、検索結果から外してもよいかと思います。(dtb_product_class.class_category_id1 = dtb_class_category.id , dtb_product_class.class_category_id2 = dtb_class_category.id)dtb_class_category.visible を条件に追加。
## 期待する内容(Expect) or 要望 (Requirement)
- 期待する内容(Expect)
- 価格表示がされること。
- 要望 (Requirement)
- フロント側の商品一覧ページで規格自体がすべて非表示設定になっている商品は、検索結果に出さない。
- フロント側の商品詳細で規格自体がすべて非表示設定になっている商品は、404ページを表示する。
## 再現手順(Procedure)
https://site4.ec-cube.net/admin/product/product/class/1?return_product_list=1
「商品規格登録 商品管理」より、通常価格をすべて空白にして更新。
↓
https://site4.ec-cube.net/admin/product/class_category/1
管理画面>商品管理>規格管理より、すべての規格を非表示設定しました。
↓
https://site4.ec-cube.net/admin/product
管理画面>商品管理>商品一覧で、価格が0になります。
**※なお、APP_ENV=dev APP_DEBUG=1 の状態だとエラーになります。**
### 環境 (environment)
+ EC-CUBE: 4.0.x
+ PHP: 7.x.x
+ DB:
- PostgreSQL x.x.x
- MySQL x.x.x
## 関連情報 (Ref)
https://github.com/EC-CUBE/ec-cube/blob/4.0/src/Eccube/Entity/Product.php#L252-L282
通常価格を空白にした場合、return null しているが、その他、getStockFind() getStockMin() getStockMax() getStockUnlimitedMin() getStockUnlimitedMax() などで、return するときに空配列からmin, max を取ろうとするため、エラーが起きます。同様に配列の要素数を数える必要かと思います。
Contributor guide
Assessment
This issue has not been assessed yet.