“Özellik etiketi” (seçenek_kimliği) özelliğine sahip “seçenek etiketi / özellik metni” özelliği nasıl edinilir?


18

Bir seçenek (açılır / çoklu seçim) koleksiyonu olan bir özniteliğim olduğunu varsayalım.

Belirli bir ürünün özellik değerini alabilirim:

$store_id = [something];
$productId = [something];
// this is a select/multiselect
$attribute_code = [something]; 

$option_id = Mage::getResourceModel('catalog/product')->getAttributeRawValue($productId, $attribute_code, $store_id );
$option_label = ???

Şimdi, sayısal bir değer olan option_id niteliğini aldım ...

... Özellik değerim için ön uç özellik etiketini yüklemenin en iyi yolu nedir? (tam ürünü yüklemeden)

Çözüm teşekkürler Marius :

// Not loading the product - just creating a simple instance
$product = Mage::getModel('catalog/product')
->setStoreId($store_id)
->setData($attribute_code,$option_id); 
$option_label = $product->getAttributeText($attribute_code);

2
Neden bu soru birkaç kez kesin yazar ve hepsi kafa karıştırıcı kullanıcılar tarafından verilmektedir. Doğru cevaplar olmadan bu sorular gibi yinelenebilir mi? Yazar tarafından verilen bu magento.stackexchange.com/questions/3003 soru doğru cevap değil, ama neden upvotes (ve kendi cevap verildi)! Bu magento.stackexchange.com/questions/976 da aynı. Belki isteğim doğru değil, bir soru, bir yazar ve cevap yok. Lütfen sitenin kalitesini koruyun. Teşekkürler.
mageUz

@Marius çözümünü ekleyerek diğer soruyu geliştirdim magento.stackexchange.com/questions/3003/…
Fra

1
En azından Magento CE 1.9 ve EE 1.14 ve getAttributeText('value')önceki sürümlerinde, özelliğin getAllOptions()yöntemi iç içe dizilerle düzenlenmiş seçenekleri ( <optgroup>açılır menüde olarak ifade edilir) döndürürse doğru çalışmadığını unutmayın .
Tyler V.

Yanıtlar:


49

Kodunuza ek olarak şunu da ekleyin:

$product = Mage::getModel('catalog/product')
                ->setStoreId($store_id)
                ->setBrand($brand_value); // not loading the product - just creating a simple instance
$brandLabel = $product->getAttributeText('brand');

9
$attribute = Mage::getModel('catalog/resource_eav_attribute')
            ->loadByCode(Mage_Catalog_Model_Product::ENTITY, 'manufacturer');
$label     = $attribute->getFrontendLabel();

1
"Ön uç özellik etiketi" için kafam karıştı, lütfen soruyu düzeltin. "Özellik etiketi" değil, bu "seçenek etiketi" veya "özellik metni" dir
mageUz
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.