如何检查产品有自定义选项?
问题描述:
我试图检查产品是否具有自定义选项或不是代码(我的代码运行sales_order_place_after
事件)。 我尝试下面的代码,但它不返回任何东西。 $product->hasCustomOptions()
和 $product->hasOptions()
如何检查产品有自定义选项?
请让我知道我错过了什么。
答
我遇到这个错误的次数比我关心的还要多。 $_product->hasOptions()
或$_product->hasCustomOptions()
总是返回false
。我仍然不知道为什么会发生此错误。
无论如何,您可以通过执行以下操作来获得相同的结果。对于配置的产品:
<?php if ($_product->getData('has_options')): ?>
<!-- do something -->
<?php endif; ?>
而要得到简单的产品相同的结果自定义选项:
<?php if ($_product->getData('has_options') && ($_product->getTypeID() == 'simple')): ?>
<!-- do something -->
<?php endif; ?>
我希望帮助未来的探险家!
编辑
以上时平类别数据选项,在Magento启用循环中不能正常工作,我们不想重装里面的产品解决方案foreach循环!
相反,我们可以使用循环内的以下单检查定制选项:
$opts = Mage::getSingleton('catalog/product_option')->getProductOptionCollection($_product);
$optsSize = $opts->getSize();
if ($optsSize) {
... // go go go
}
+1
但是为什么$ _product-> hasOptions()将不起作用?,好像这是自然的要求做 – 2016-04-29 09:44:19
答
使用方法
@Marius你在这里http://*.com回答类似的问题/ questions-25745879/product-has-a-custom-options-or-not-in-magento所以可能你可以帮我 – androidjunky 2015-04-04 10:22:21