Question

Je veux récupérer tous les attributs sous Attribut par défaut défini avec leurs groupes à Magento.J'ai utilisé ci-dessous le code pour récupérer les attributs, mais comment puis-je diviser avec leurs groupes.

$attributes = Mage::getModel('catalog/product_attribute_api')->items('4');
foreach ($attributes as $_attribute)
{
    echo '<pre>' . print_r($_attribute);
}

Merci d'avance!.

Était-ce utile?

La solution

Veuillez utiliser le code ci-dessous,

$setId = 10; // Attribute set Id
        $groups = Mage::getModel('eav/entity_attribute_group')
            ->getResourceCollection()
            ->setAttributeSetFilter($setId)
            ->setSortOrder()
            ->load();

        $attributeCodes = array();
        foreach ($groups as $group) {
            $groupName          = $group->getAttributeGroupName();
            $groupId            = $group->getAttributeGroupId();

            $attributes = Mage::getResourceModel('catalog/product_attribute_collection')
                ->setAttributeGroupFilter($group->getId())
                ->addVisibleFilter()
                ->checkConfigurableProducts()
                ->load();
                if ($attributes->getSize() > 0) {
                    foreach ($attributes->getItems() as $attribute) {
                        /* @var $child Mage_Eav_Model_Entity_Attribute */
                        $attributeCodes[] = $attribute->getAttributeCode();                     
                    }
                } 

        }
        print_r($attributeCodes);

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top