getCategoryCollectionn 函数返回一个包含所有产品类别的 Magento 集合。类别集合中的项目是 Magento 类别对象,类别有一个方法 ( getProductsCollection
),它返回一个包含该类别中所有产品的集合。Magento 集合具有相当丰富的 API,可用于从集合中获取特定项目,在这种情况下,我们需要getFirstItem()
. 把这一切放在一起:
$product = Mage::getModel('catalog/product')->load($productId);
$categoryCollection = $product->getCategoryCollection();
foreach ($categoryCollection as $category) {
$products = $category->getProductsCollection();
// Here we have the first product
$firstProduct = $products->getFirstItem();
}
如果您想要的只是当前产品的第一个类别中的第一个产品,则可以避免循环并改为执行以下操作:
$product = Mage::getModel('catalog/product')->load($productId);
$categoryCollection = $product->getCategoryCollection();
$category = $categoryCollection()->getFirstItem();
$products = $category->getProductsCollection();
// Here we have the first product
$firstProduct = $products->getFirstItem();
注意:这些代码示例中的任何一个都特别有效,但是在不确切知道您要做什么的情况下,我无法提出更有效的解决方案。