这是我想出的解决方案
public function getSpecificAttributes($product) {
//get ids of all the attributes in the default attribute set
$entityTypeId = Mage::getModel('eav/entity')
->setType('catalog_product')
->getTypeId();
$attributeSetName = 'Default';
$defaultAttributeSetId = Mage::getModel('eav/entity_attribute_set')
->getCollection()
->setEntityTypeFilter($entityTypeId)
->addFieldToFilter('attribute_set_name', $attributeSetName)
->getFirstItem()
->getAttributeSetId();
$defaultAttributes = Mage::getModel('catalog/product_attribute_api')->items($defaultAttributeSetId);
$defaultAttributeCodes = array();
foreach ($defaultAttributes as $attributes) {
$defaultAttributeCodes[] = $attributes['code'];
}
//get ids of all the attributes in the attribute set specific to the current product
$attributeSetId = $product->getAttributeSetId();
$specificAttributes = Mage::getModel('catalog/product_attribute_api')->items($attributeSetId);
$attributeCodes = array();
foreach ($specificAttributes as $attributes) {
$attributeCodes[] = $attributes['code'];
}
$currentAttributes = array_diff($attributeCodes, $defaultAttributeCodes);
return $currentAttributes;
}