"विशेषता मान" (Option_id) वाले विशेषता "विकल्प लेबल / विशेषता पाठ" कैसे प्राप्त करें?


18

मान लीजिए कि मेरे पास एक विशेषता है जो विकल्प का एक संग्रह है (ड्रॉपडाउन / मल्टीसेलेक्ट)।

मैं किसी दिए गए उत्पाद के लिए विशेषता मान प्राप्त कर सकता हूं:

$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 = ???

अब, मुझे विशेषता option_id मिला है जो एक संख्यात्मक मान है ...

... मेरी विशेषता मान के लिए दृश्यपटल विशेषता लेबल लोड करने का सबसे अच्छा तरीका क्या है? (पूरा उत्पाद लोड किए बिना)

समाधान धन्यवाद 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
क्यों यह सवाल कई बार सटीक लेखक द्वारा दिया जाता है और उनमें से सभी उपयोगकर्ताओं को भ्रमित करते हैं। क्या हम बिना सही उत्तरों के इन सवालों की तरह नकल कर सकते हैं? लेखक द्वारा दिया गया यह magento.stackexchange.com/questions/3003 प्रश्न कोई सही उत्तर नहीं है, लेकिन क्यों upvotes (और खुद का जवाब दिया गया है)! यह एक magento.stackexchange.com/questions/976 भी समान है। शायद मेरा अनुरोध सही नहीं है, लेकिन एक सवाल, एक लेखक और कोई जवाब नहीं। कृपया, साइट की गुणवत्ता बनाए रखें। धन्यवाद।
मगेउज़

मैंने अन्य प्रश्न को सुधारते हुए @Marius solution magento.stackexchange.com/questions/3003/…
Fra

1
ध्यान दें कि कम से कम मैगेंटो सीई 1.9 और ईई 1.14 और नीचे में, getAttributeText('value')सही ढंग से काम नहीं करता है यदि विशेषता की getAllOptions()विधि रिटर्न विकल्प नेस्टेड सरणियों के साथ व्यवस्था की है, ( <optgroup>ड्रॉपडाउन में व्यक्त किया गया है।)
टायलर वी।

जवाबों:


49

अपने कोड के अलावा इसे लगाएं:

$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
मैंने "फ्रंटेंड विशेषता लेबल" के लिए उलझन में है, कृपया, प्रश्न को सही करें। "विशेषता लेबल" नहीं, यह "विकल्प लेबल" या "विशेषता पाठ" है
mageUz
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.