Magento:获取属性代码

时间:2010-02-06 18:31:41

标签: magento

我正在试图弄清楚如何从Magento的过滤器列表中获取属性代码。

<?php
$_filters = $this->getFilters();
foreach ($_filters as $_filter)
{
    echo $this->__($_filter->getName());
    echo $this->__($_filter->getAttributeCode()); # color_name
}
?>

getAttributeCode()不是方法。 我想为app / design / frontend / default / default / template / catalog / layer / view.phtml中 attribute_code 的每个过滤器指定一个CSS类名。

2 个答案:

答案 0 :(得分:14)

以下内容可行:

foreach($filters as $_filter)
{
    $attributeModel = $_filter->getAttributeModel();
    if($attributeModel) {
        echo $attributeModel->getAttributeCode();
    }
}

这里的关键是检查过滤器实际上是一个属性,因为有些不是(最常见的是类别),这些类型的过滤器显然不会有属性代码。

答案 1 :(得分:3)

注意是否要在/catalog/layered/state.phtml中使用此代码段;请使用

$attributeModel = $_filter->getFilter()->getAttributeModel();

而不是

$attributeModel = $_filter->getAttributeModel();