在Magento的Block中检索与产品相关的类别列表时是否涉及某种黑魔法?
我已经试过了:
foreach($quote->getAllVisibleItems() AS $item) {
$categories = $item->getCategoryIds();
Mage::log(get_class($item));
Mage::log(print_r($categories, true));
$prod = Mage::getModel('catalog/product')->load($item->getId());
Mage::log(get_class($prod));
Mage::log(print_r($prod->getCategoryIds(), true));
我得到的是:
2014-11-21T08:59:25+00:00 DEBUG (7): Mage_Sales_Model_Quote_Item
2014-11-21T08:59:25+00:00 DEBUG (7):
2014-11-21T08:59:25+00:00 DEBUG (7): Mage_Catalog_Model_Product
2014-11-21T08:59:25+00:00 DEBUG (7): Array
(
)
我也尝试使用$prod
对象的getCategoryCollection()
方法,但似乎也无法从该Mage_Catalog_Model_Resource_Category_Collection
对象中获取任何数据。
$ item-> getId()不会为您提供产品ID,而是为您提供报价项目ID。您可以使用$ item-> getProductId()。
试试这个吧;
$prod = Mage::getModel('catalog/product')->load($item->getProductId());
Mage::log(print_r($prod->getCategoryIds(), true));
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句