我在Magento有一个分组产品。在显示与组关联的项目之前,我想确保每个关联的产品都是可销售的。我正在通过在简单产品的管理员中切换“启用/禁用”状态进行测试。
$sku = 'SKU1234'; // grouped product
$cpm = Mage::getModel('catalog/product');
$grouped_product = $cpm->load($cpm->getIdBySku($sku));
$associated = $cpm->getTypeInstance(true)->getAssociatedProducts($grouped_product);
foreach ($associated as $a_p) echo $a_p->isSaleable();
无论关联产品的已禁用/已启用状态如何,上述内容始终为每个关联产品打印出“1”,而我预计“已禁用”为“2”。
我错过了什么?
感谢您的帮助
答案 0 :(得分:0)
有时echo
命令在输出页面上无法正常工作。
尝试在后端启用日志记录系统并使用log命令:
Mage::log($a_p->isSaleable());
还尝试记录$ associated数组以获取有关返回类的更多信息。 也许你不能使用
$a_p->isSaleable();
你必须使用
$a_p->getProduct()->isSaleable();