2015-06-25 4 views
2

Как я могу получить все настраиваемые атрибуты в наборе атрибутов?magento get Настраиваемые атрибуты в наборе атрибутов

Я зациклировал весь набор атрибутов, тогда я хочу отобразить только его настраиваемый атрибут.

+0

, где вы хотите это сделать? в зависимости от того, где (товарная страница? cart? checkout?) существуют разные методы. – jdu

+0

@jdu - на странице администратора –

+0

страница администратора? можете ли вы предоставить больше информации о своей цели? не уверен, что я достаточно понимаю, чтобы помочь вам –

ответ

2

Вы должны иметь возможность получить коллекцию атрибутов и отфильтровать ее (на основе набора атрибутов) - это вернет вам все атрибуты в указанном наборе, которые можно настроить.

$attributes = Mage::getResourceModel('catalog/product_attribute_collection') 
->setAttributeSetFilter($attributeSetId) 
->addFieldToFilter("is_configurable", array("eq", "1")) 
->getItems(); 
+0

не работает, он возвращает все атрибуты в установленном атрибуте, даже если атрибут не настраивается –

1

There are three conditions for a configurable attribute

Я предполагаю, что конфигурируемые атрибуты, вы на самом деле означает атрибуты, которые могут быть использованы для создания конфигурируемый продукт. Ответ Дугласа Радберна - правильный способ сделать это, он просто пропускает еще два фильтра. Как вы можете видеть на рисунке выше, существует три условия использования атрибута для создания настраиваемого продукта. Используя сообщение изображения в качестве ссылки, мы можем построить следующую коллекцию.

$attributes = Mage::getResourceModel("catalog/product_attribute_collection") 
->setAttributeSetFilter($attributeSetId) 
->addFieldToFilter("frontend_input", "select") 
->addFieldToFilter("is_configurable", "1") 
->addFieldToFilter("is_global", "1"); 
+0

Хороший ответ @Aapo –

0

Это будет работать:

$objAttributes = Mage::getResourceModel('catalog/product_attribute_collection') 
->addFieldToFilter("is_configurable", array("1")) 
->getItems();