私は kable-bundleplus モジュールを使用しており、このコードを使用してデフォルト値を持つバンドル製品の製品リスト ページに [カートに追加] ボタンを追加しました。
<?php
$productAddUrl = $this->helper(‘checkout/cart’)->getAddUrl($_product);
if ($_product->getTypeId() == ‘bundle’):
$bundleOptions = ‘?';
$selectionCollection = $_product->getTypeInstance(true)->getSelectionsCollection($_product->getTypeInstance(true)->getOptionsIds($_product), $_product);
foreach($selectionCollection as $option):
$bundleOptions .= ‘&bundle_option[‘ . $option->option_id . ‘]=’ . $option->selection_id;
$bundleOptions .= ‘&bundle_option_qty[‘ . $option->option_id . ‘]=’ . $option->selection_qty;
endforeach;
$productAddUrl .= $bundleOptions;
endif;
?>
<button type="button" title="<?php echo $this->__(‘Add to Cart’) ?>" class="button btn-cart" onclick="setLocation(‘<?php echo $productAddUrl ?>’)"><span><span><?php echo $this->__(‘Add to Cart’) ?></span></span></button> <?php else: ?>
ここから入手しました http://understandinge.com/forum/all-things-coding/add-a-bundle-product-to-cart-from-category-page/
すべてが正常に機能している場合、製品はデフォルトの数量の正しいデフォルト オプションでカートに追加されます。しかし、ショッピング カート ページから編集を押すと、すべてのオプションにデフォルトの数量値が表示され、スクリプト エラーが発生します。
Uncaught TypeError: Cannot read property 'customQty' of undefined
Uncaught TypeError: Cannot read property 'reloadPrice' of undefined
チェックボックスを押して数量を変更すると、これが表示されます
Uncaught TypeError: Cannot read property 'changeSelection' of undefined
問題は商品をカートに追加するために使用される URL にあると思いますが、方法がわかりません。
助けはありますか?