поиск группы атрибутов


Это мой неэффективный код для поиска группы атрибутов. Может ли кто-нибудь помочь мне придумать более эффективный метод. Я знаю, что хочу использовать модель, поддерживающую addAttributeToFilter или аналогичную.

function Group_Exists($group_name, $set_magento_id)
{
    $attributeSetCollection =             
         Mage::getResourceModel('eav/entity_attribute_group_collection')
                                   ->load();

    foreach ($attributeSetCollection as $id=>$attributeGroup) {
        if ( $attributeGroup->getAttributeGroupName() == $group_name &&
             $attributeGroup->getAttributeSetId() == $set_magento_id )
        {
             return $attributeGroup->getAttributeGroupId();
        }
    }


}
Author: Amit Bera, 2014-09-06

1 answers

Следующее должно позволить вам фильтровать по имени группы и устанавливать его.

/** @var Mage_Eav_Model_Resource_Entity_Attribute_Group_Collection $oEntityAttributeGroup */
$oEntityAttributeGroup = Mage::getResourceModel('eav/entity_attribute_group_collection');
$oEntityAttributeGroup->addFieldToFilter('attribute_group_name', 'Group Name Goes Here');
$oEntityAttributeGroup->addFieldToFilter('attribute_set_id', 'Set Id Goes Here');

Затем вы можете просмотреть коллекцию, чтобы получить все группы, соответствующие этим настройкам.

 1
Author: David Manners, 2015-02-21 08:58:25