【问题标题】:Magento - get specific category name from product idMagento - 从产品 ID 中获取特定的类别名称
【发布时间】:2014-05-19 17:46:37
【问题描述】:

这是我的代码:

$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),它应该显示猫的名称(但只有这些 id 之一的猫名)。

每种产品都只出现在其中一只猫中,但它有更多的猫(子猫和默认猫)。

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

【问题讨论】:

    标签: php magento


    【解决方案1】:

    你想检查你的变量是否是集合的一部分,所以明智的做法是构建一个数组并检查值是否在数组中:

    $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();
         }
    }
    

    【讨论】:

      【解决方案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();
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-05-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-09-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多