Magento - 从产品ID获取特定的类别名称

时间:2014-05-19 17:46:38

标签: php magento

这是我的代码:

$product = Mage::getModel('catalog/product')->load($_item['product_id']);
$cats = $product->getCategoryIds();

foreach ($cats as $category_id) {
$_cat = Mage::getModel('catalog/category')->load($category_id);
     if ($category_id == 3 || 4 || 5 || 6 || 7 || 8) {
          echo $_cat->getName();
     }
}

我想只显示一个特定的类别(猫)名称:

如果产品(它总是只显示一个)在特定的猫(特定的猫ID是:3,4,5,6,7,8)中,它应该显示猫的名字(但只有其中一个ids的猫名。)

每只产品只有一只猫,但它有更多的猫(小猫和默认猫)。

例如:我有一个来自cat 4的产品。我的代码显示所有猫的名字(默认,猫4和孩子猫),但我只想要猫的名字4.我的if表达式不起作用。有人知道如何解决这个问题吗?

2 个答案:

答案 0 :(得分:2)

您想要检查您的变量是否是集合的一部分,因此建立一个数组并检查该值是否在数组中是明智的:

$elements = array(3, 4, 5, 6, 7, 8);
$product = Mage::getModel('catalog/product')->load($_item['product_id']);
$cats = $product->getCategoryIds();

foreach ($cats as $category_id) {
$_cat = Mage::getModel('catalog/category')->load($category_id);
     if (in_array($category_id, $elements)) {
          echo $_cat->getName();
     }
}

答案 1 :(得分:2)

您可以按产品ID获取特定产品的Magento类别名称或类别ID。您关注以下代码:

    $_proId  = $this->getProduct()->getId();
    $product = Mage::getModel('catalog/product')->load($_proId);
    $cats = $product->getCategoryIds();

    foreach ($cats as $category_id) {
        $_cat = Mage::getModel('catalog/category')->load($category_id) ;
        $currentCategory = $_cat->getId();
    }