0

I'm trying to add to cart a bundle product with default options (options already selected from backend) using the setLocationAjax function. I managed to get the correct url to add which will be javascript:setLocationAjax('http://example.com/checkout/cart/add/uenc/aHR0cDovL2lsYWVtcy5jb20vc2FuZHdpY2hlcy5odG1s/product/29/form_key/YMC8gewJKkZd3QK6/?&bundle_option[2]=4&bundle_option_qty[2]=1.0000&bundle_option[3]=6&bundle_option_qty[3]=10.0000&bundle_option[4]=13&bundle_option_qty[4]=5.0000')

for some reason I'm getting the message "Please specify product option(s)." while if I'm not using ajax it will work fine.

any ideas what is missing here.

Thanks

2 Answers 2

1

It's probably due to your form key expiring. If you're trying to paste this in after it's generated then you'll need to ensure that it has a fresh form key. Try adding it like this:

$form_key = Mage::getSingleton('core/session')->getFormKey();
echo "javascript:setLocationAjax('http://example.com/checkout/cart/add/product/29/form_key/".$form_key."/?&bundle_option[2]=4&bundle_option_qty[2]=1.0000&bundle_option[3]=6&bundle_option_qty[3]=10.0000&bundle_option[4]=13&bundle_option_qty[4]=5.0000')";
2
  • Thanks for your reply but it didn't work. any other suggestions?
    – liza
    Commented Jan 26, 2015 at 8:41
  • In bundle_option[X] is X the actual option ID or are you just making them 1,2,3,4? The X should be the option ID. Commented Jan 26, 2015 at 14:06
0

yes as I used this code

$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): if($option->is_default ==1){ $bundleOptions .= '&bundle_option[' . $option->option_id . ']=' . $option->selection_id; $bundleOptions .= '&bundle_option_qty[' . $option->option_id . ']=' . $option->selection_qty; } endforeach; $productAddUrl .= $bundleOptions;

The funny thing is if I turn off the ajax the add to cart button will work fine and the product is added to the cart with the correct default option but if I turn off the ajax it gives me this error "Please specify product option(s)."

BTW: I'm using kallyas theme.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.