如何使用 Magento 中的集合获取产品类别信息

发布于 2024-08-25 06:59:50 字数 385 浏览 4 评论 0原文

我正在尝试输出 Magento 商店中的所有产品 - 以下代码有效,但是我还需要获取类别 id 和类别 id 。父类别名称也是如此。谁能建议我如何做到这一点?

$product = Mage::getModel('catalog/product'); 
$productCollection = $product->getCollection()
->addAttributeToSelect('*');


foreach ( $productCollection as $_product ) {
    echo $_product->getName().'<br/>';        
}

I am trying to output all the products from our Magento shop - the following code works, however I also need to grab the category id & the parent category name too. Can anyone suggest how I can do this?

$product = Mage::getModel('catalog/product'); 
$productCollection = $product->getCollection()
->addAttributeToSelect('*');


foreach ( $productCollection as $_product ) {
    echo $_product->getName().'<br/>';        
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

忘东忘西忘不掉你 2024-09-01 06:59:50

在某些情况下,$_product->getCategory() 可能返回空并导致错误。

更好的解决方案是通过 ID 获取类别:

$categoryIds = $_product->getCategoryIds();

foreach($categoryIds as $categoryId) {
    $category = Mage::getModel('catalog/category')->load($categoryId);
    echo $category->getName();
    echo $category->getUrlPath();
 }

In some instances $_product->getCategory() can return empty and cause an error.

A better solution is to fetch categories by ID:

$categoryIds = $_product->getCategoryIds();

foreach($categoryIds as $categoryId) {
    $category = Mage::getModel('catalog/category')->load($categoryId);
    echo $category->getName();
    echo $category->getUrlPath();
 }
捂风挽笑 2024-09-01 06:59:50

由于产品可以分配给多个类别,我认为您的概念可能有点偏离,除非您为每个类别加载一个集合。如果给定产品有多个类别,您预计会看到什么?

无论如何,在类别页面中,您可以使用以下命令:

$currentCat = $_product->getCategory();

要获取该产品所属的所有类别:

$categories = $_product->getCategoryCollection();
foreach($categories as $_category) {
    // do something
}

希望有所帮助。谢谢,

Since products can be assigned to multiple categories, I think your concept may be a bit off unless you are loading a collection for each category. What do you anticipate seeing if there are multiple categories for a given product?

Regardless, from within a category page, you can use the following:

$currentCat = $_product->getCategory();

To get all categories to which this product belongs:

$categories = $_product->getCategoryCollection();
foreach($categories as $_category) {
    // do something
}

Hope that helps. Thanks,

Joe

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文