我通过自己的方法解决了它,不确定它是否可以接受。发送帖子值和产品ID,模型将返回价格。
$bundle_option = Mage::app ()->getRequest ()->getParam('bundle_option');
$bundle_option_array = call_user_func_array('array_merge', $bundle_option);
$price = Mage::Helper('airhotels/bundle')->getBundlePrice($productid,$bundle_option_array);
我的帮助文件是
public function getBundlePrice($productId,$bundle_option_array) {
$product = new Mage_Catalog_Model_Product();
$product->load($productId);
$price=0;
$selectionCollection = $product->getTypeInstance(true)->getSelectionsCollection($product->getTypeInstance(true)->getOptionsIds($product), $product);
foreach($selectionCollection as $option)
{
if (in_array($option->getSelectionId(), $bundle_option_array)){
$price += $option->price;
}
}
return $price;
}
概念:我从二维数组(问题)构建了一个一维数组。从 helper 中的函数我们可以获得捆绑产品的所有选择 id。通过匹配(使用 in_array),我们可以计算我们自定义选择产品的价格。