Dapatkan Nilai Opsi berdasarkan Id Atribut di Magento


12

Bagaimana Magento dapat menemukan nilai atribut dengan label atribut yang diberikan atau id atribut yang diberikan?


Saya percaya ini dijawab oleh pertanyaan SO lainnya yang terlihat [di sini] ( magento.stackexchange.com/a/8396 )
sbditto85

Jawaban:


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

Sederhananya - gunakan metode getAttributeText .

$product->getAttributeText('brand')

Ini adalah jawaban yang benar.
Owen

1
ini sangat sulit ditemukan, namun begitu sederhana.
Patrick Lee Scott

2

Jika ada yang menemukan halaman ini dan ingin beberapa metode rendah mencari atribut apa pun, bukan hanya atribut produk, berikut adalah contoh untuk mencari atribut acak yang saya buat yang disebut 'khusus' dan daftar semua opsi sebagai sebuah array.

$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();
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.