станд.:: back_inserter для станд.:: набор?

Всякий раз, когда у вас есть объект продукта, вы можете получить доступ к его набору атрибутов следующим образом:

$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');
}

Надеюсь, это поможет!

85
задан Rakete1111 17 April 2017 в 12:43
поделиться

1 ответ

набор не имеет 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 () .

126
ответ дан 24 November 2019 в 08:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: