我在结帐时有几个产品,我需要能够获得通过代码为它们选择的所有自定义选项。
任何帮助深表感谢!
最佳答案
我只给你一个产品的例子。假设您知道所需产品的Sku(例如,将其作为“ABCDE”)。这样您就可以获取该产品的ID。
该代码将类似于:
$productSku = "ABCDE";
$product = Mage::getModel('catalog/product');
$productId = $product->getIdBySku( $productSku );
$product->load($productId);
/**
* In Magento Models or database schema level, the product's Custom Options are
* executed & maintained as only "options". So, when checking whether any product has
* Custom Options or not, we should check by using this method "hasOptions()" only.
*/
if($product->hasOptions()) {
echo '<pre>';
foreach ($product->getOptions() as $o) {
$optionType = $o->getType();
echo 'Type = '.$optionType;
if ($optionType == 'drop_down') {
$values = $o->getValues();
foreach ($values as $k => $v) {
print_r($v);
}
}
else {
print_r($o);
}
}
echo '</pre>';
}
我认为这将使您开始使用。
根据变量“
$optionType
”中选项的类型,您需要调用另一个嵌套的“foreach
”循环。我曾在文本框,文本字段,下拉菜单中工作,但未处理其他类型。因此,我想您需要自己做一些RnD。