Magento'da Öznitelik Kimliği ile Seçenek Değeri Alın


12

Magento , belirli bir özellik etiketine veya belirli bir özellik kimliğine göre bir özellik değerini nasıl bulabilir ?


Bunun [burada] görülen başka bir SO sorusu tarafından cevaplandığına inanıyorum ( magento.stackexchange.com/a/8396 )
sbditto85

Yanıtlar:


16
$productModel = Mage::getModel('catalog/product');
$str_attr_label = "color";  //or "size", etc...
$int_attr_id = 8; // or any given id.
$int_attr_value = 21; // or any given attribute value id.

// Chose either
if ($byLabel){
    $attr = $productModel->getResource()->getAttribute($str_attr_label);
}
if ($byId){
    $attr = Mage::getModel('catalog/resource_eav_attribute')->load($int_attr_id);
}

if ($attr->usesSource()) {
    echo $color_label = $attr->getSource()->getOptionText($int_attr_value);
}       

11

Basitçe söylemek gerekirse - getAttributeText yöntemini kullanın .

$product->getAttributeText('brand')

Bu doğru cevap.
Owen

1
bunu bulmak çok zor, ama çok basitti.
Patrick Lee Scott

2

Herhangi birinin bu sayfayı bulması ve yalnızca ürün özellikleri yerine herhangi bir tür özellik aramak için bazı düşük yöntemleri istemesi durumunda, burada oluşturduğum 'uzmanlık' adı verilen rastgele bir özelliği aramak ve tüm seçenekleri şu şekilde listelemek için bir örnek var: bir dizi.

$attr = Mage::getResourceModel('eav/entity_attribute_collection')->setCodeFilter('specialty')->getData()[0];
$attributeModel = Mage::getModel('eav/entity_attribute')->load($attr['attribute_id']);
$src =  $attributeModel->getSource()->getAllOptions();
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.