Всякий раз, когда у вас есть объект продукта, вы можете получить доступ к его набору атрибутов следующим образом:
$attributeSetModel = Mage::getModel("eav/entity_attribute_set");
$attributeSetModel->load($product->getAttributeSetId());
$attributeSetName = $attributeSetModel->getAttributeSetName();
Это даст вам имя набора атрибутов, которое вы затем сможете сравнить, используя strcmp:
if(0 == strcmp($attributeSetName, 'My Attribute Set')) {
print $product->getAttributeText('attribute');
}
Надеюсь, это поможет!
набор
не имеет push_back
, потому что положение элемента определяется компаратором набора. Используйте std :: insertter
и передайте его .begin ()
:
std::set<int> s1, s2;
s1 = getAnExcitingSet();
transform(s1.begin(), s1.end(),
std::inserter(s2, s2.begin()), ExcitingUnaryFunctor());
Итератор вставки вызовет s2.insert (s2.begin (), x)
где x
- значение, переданное итератору при записи в него. Набор использует итератор как подсказку, куда вставить. Вы также можете использовать s2.end ()
.