【问题标题】:Get Magento category attribute in frontend在前端获取 Magento 类别属性
【发布时间】:2010-11-03 07:41:54
【问题描述】:

我创建了一个要在前端使用的类别属性。我尝试以与我们对产品相同的方式访问它,但它似乎不起作用。如何在前端显示自定义属性?有什么猜测吗?

谢谢

【问题讨论】:

  • 属性的数据类型是什么?

标签: php attributes magento categories


【解决方案1】:

试试这个:

$cat_attr = $this->getCurrentCategory()->getAttributes();
if(array_key_exists('short_description', $cat_attr)):
    $_shortDescription=$cat_attr['short_description']->getFrontend()->getValue($_category);
endif;

【讨论】:

    【解决方案2】:

    我要做的第一件事是在您的类别对象上执行以下代码

    print_r($category->debug());
    

    这将显示该属性是否正在加载。如果您没有看到您的属性,您可以返回到正在加载对象的控制器,并通过添加以下行之一将其添加到您的选择中:

    ->addAttributeToSelect('your_attribute')
    

    这应该会为你加载你的属性。

    【讨论】:

      【解决方案3】:

      我有一个自定义属性,并以这种方式显示在前端;

      $category_id = '10';
      $attribute_code = 'category_categorycolor';
      $category = Mage::getModel('catalog/category')->load($category_id);
      
      echo $category->getResource()->getAttribute($attribute_code)->getFrontend()->getValue($category);
      

      【讨论】:

        【解决方案4】:

        很简单

        <?php foreach ($this->getStoreCategories() as $cat): ?>
        <?php  $_category=Mage::getModel("catalog/category")->load($cat->getId()); ?>
        

        现在你应该使用 getImage 方法来检索你的 img 属性

        <img src="<?php  echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA) . 'catalog/category/' . $_category->getImage() ?>" />
        
        <?php endforeach ?>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多