Magento: получение атрибута элемента навигационного фильтра - PullRequest
1 голос
/ 11 октября 2010

Итак, я все больше и больше знакомлюсь с многоуровневой навигацией, которую использует Magento, и замечаю, что можно получить различные атрибуты элементов, такие как Name или строковое значение, однако есть один атрибут, от которого я не могу легко получить модель, которую я использую ('catalog / layer_filter_item'): позиция.

Кто-нибудь знает, как получить позицию опции фильтрации атрибутов, например, скажем, есть цветная пурпурная с позицией 2 - как я могу получить эту 2?

Может также возникнуть вопрос - как мне вывести sort_order из таблицы eav_attribute_option ... если это поможет.

Спасибо за любую помощь:)

Ответы [ 2 ]

2 голосов
/ 09 февраля 2011

Попробуйте прочитать все методы класса, поставив

print_r(get_class_methods($_item))
1 голос
/ 12 октября 2010

Должна быть возможность изменить SQL, сгенерированный ресурсом фильтра, и, таким образом, вернуть значение в виде столбца SELECT. Однако это звучит сложно, поэтому вместо этого в шаблоне (template / catalog / layer / filter.phtml), где вы видите это:

foreach ($this->getItems() as $_item)

Измените его на:

foreach ($this->getItems() as $_idx => $_item)

И $_idx будет числом, которое увеличивается вместе с sort_order. Это не будет точно так же, ключи массива начинаются с нуля и являются смежными. Если бы вы указали позиции 1, 3 и 10, все равно получилось бы 0, 1, 2.

Я признаю, что это компромисс, но может быть достаточно для ваших целей.

...