現在開発中のカスタム Magento 拡張機能を完成させるために支援が必要です。Magento では、マーチャントが「シンプルな」製品をバンドルすることを許可していますが、残念ながら「バンドルされた」製品をバンドルすることはできません。たとえば、コンピューター部品を販売する店があります。私は、「シンプル」な製品と見なされる、個々の販売可能な製品を作成します。次に、キーボードとマウスを一緒にバンドルしたいのですが、Magento で「BUNDLE PRODUCT」という新しい製品タイプを作成し、この新しく作成された「BUNDLE PRODUCT」に製品を関連付けることで、簡単に行うことができます。ただし、バンドル製品を別のバンドル製品に関連付けたい場合、すぐに使用することはできません。
そこで、バンドルされた製品を別のバンドルに関連付けることができる独自の拡張機能を作成しました。これは、バックエンド (製品管理ツール) で完全に機能します。しかし、バンドルされた製品がフロントエンド (製品の詳細ページ) に表示されないという問題があります。 編集: 通常、製品の詳細 (単純な製品かバンドル製品かに関係なく) を表示すると、製品全体の詳細 (説明、名前、価格、カートに追加するボタンなど) が表示されます。この商品詳細ページでは、説明エリアの下に表示されるボックスがあり、この商品に関連付けられているすべての同梱アイテムのリストが表示されます。このリストは、SIMPLE 製品をバンドルに関連付けた場合にのみ表示されます。バンドルされた製品を「親」のバンドル製品に関連付けることはできましたが、製品の詳細ページにはリストされていません。それはただの空白です。タイトル、説明、カートに入れるボタンは表示されますが、関連商品のリストは表示されません。
これを解決したり、正しい方向に向けたりするのを手伝ってくれる人はいますか? 同梱品の下に同梱品(商品種別:同梱品)が表示されるようにする解決策をお願いしています。
エラーを複製するためにできることは次のとおりです。
1) 編集
/app/code/Mage/Bundle/etc/config.xml
次のように、許可された選択タイプの下にバンドルを追加します。
<allowed_selection_types>
<bundle/>
2) 編集
/app/code/Mage/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option/Search/Grid
そしてコメントアウト
-->addFilterByRequiredOptions()
_prepareCollection() 関数で。(コメントアウトするときは、セミコロンが移動していることを確認してください)
3) 編集
/app/code/Mage/Bundle/Model/Product/Type.php
関数「isSalable()」が最初の「IF ステートメント」に対して true を返すようにします。何らかの理由で、バンドル内のバンドルが販売できないため、これを行いました。「OUT OF STOCK」を返すので、その関数が TRUE を返すようにすることでそれを克服しました。
最後に、同じファイルで getSelectionsCollection() をコメントアウトして変更します
->addFilterByRequiredOptions()
->setOptionIdsFilter($optionIds)
(コメントアウトするときは、セミコロンが移動していることを確認してください)
これで、BUNDLED 製品を別の BUNDLE 製品に関連付けることができるはずです。同梱商品が含まれる商品をご覧いただくと、同梱商品の一覧は表示されません。ここで助けが必要です。どこから探し始めればよいか、少し助けが必要です。
よろしくお願いします!