3

オプションを事前に選択して、バンドルされたアイテムをアップセルエリアからカートに追加しようとしています。そのため、アイテムページではなくカートに直接移動し、次のURLを使用しています。

Mage::$this->helper('checkout/cart')->getAddUrl($_link)

たとえば、次のように連結します。

?bundle_option[14][]=16&bundle_option[15][]=17&bundle_option[16][]=19&

このURLは、アイテムをカートに追加しますが、警告が表示されます。

以下の製品の中には、必要なすべてのオプションがないものがあります。それらを編集し、必要なすべてのオプションを構成してください。

そして、私はチェックアウトを続行させません。また、通常のカートへの追加成功メッセージも含まれています。

独自のページ(すべてのデフォルトオプションを使用)からアイテムを追加すると、正常に機能します。

オプションを指定せずに、バンドル製品をカートに追加するように設定し、必要なラジオボタンとデフォルトを選択しました。

また、options_bundle_qty[...URLにオプションを追加しても役に立ちません。

更新:1.4と1.6のインストールでまったく同じセットアップを使用しています。1.4では機能していますが、1.6では機能していません。

4

1 に答える 1

4

次のような単一の test.php ファイルを作成してみることをお勧めします。

$params = array(
    'product' => 164,
    'related_product' => null,
    'bundle_option' => array(
        21 => 58,
        20 => 55,
        11 => 28,
        12 => array(
            0 => 31,
        ),
        13 => array(
            0 => 32,
            1 => 35,
        ),
    ),
    'options' => array(
        3 => 'olaaaaaaaa',
    ),
    'qty' => 2,
);

$cart = Mage::getSingleton('checkout/cart');

$product = new Mage_Catalog_Model_Product();
$product->load(164);

$cart->addProduct($product, $params);
$cart->save();

Mage::getSingleton('checkout/session')->setCartWasUpdated(true);

$message = $this->__('Custom message: %s was successfully added to your shopping cart.', $product->getName());
Mage::getSingleton('checkout/session')->addSuccess($message);

製品バンドルの追加をテストおよびデバッグして、問題を特定しやすくします。明らかに、製品 ID とオプションを編集して、必要なデータに関連付けたいと思うでしょう。

お役に立てれば。

于 2012-05-15T15:29:44.740 に答える