Magento: получение кода атрибута - PullRequest
0 голосов
/ 06 февраля 2010

Я пытаюсь выяснить, как получить код атрибута из списка фильтров в Magento.

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

getAttributeCode () не является методом. Я хочу указать имя класса CSS для каждого фильтра для атрибут_кода в приложении / design / frontend / default / default / template / catalog / layer / view.phtml

Ответы [ 2 ]

14 голосов
/ 08 февраля 2010

Будет работать следующее:

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

Ключевым моментом здесь является проверка того, что фильтр на самом деле является атрибутом, так как некоторые из них не являются (чаще всего категориями), и эти типы фильтров, очевидно, не будут иметь код атрибута.

3 голосов
/ 19 января 2011

Будьте внимательны, если вы хотите использовать этот фрагмент в /catalog/layered/state.phtml; пожалуйста, используйте

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

вместо

$attributeModel = $_filter->getAttributeModel();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...