วิธีรับคุณลักษณะ“ ป้ายกำกับตัวเลือก / ข้อความแอตทริบิวต์” ที่มี“ ค่าคุณลักษณะ” (ตัวเลือก _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 = ???

ตอนนี้ฉันได้ attribute 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ก็เหมือนกัน บางทีคำขอของฉันไม่ถูกต้อง แต่มีหนึ่งคำถามผู้เขียนหนึ่งคนและไม่มีคำตอบ กรุณารักษาคุณภาพของเว็บไซต์ ขอบคุณ
mageUz

ฉันมีการปรับปรุงคำถามอื่น ๆ เพิ่ม @Marius แก้ปัญหาmagento.stackexchange.com/questions/3003/...
Fra

1
โปรดทราบว่าอย่างน้อยใน Magento CE 1.9 และ EE 1.14 และต่ำกว่าgetAttributeText('value')ทำงานไม่ถูกต้องหากgetAllOptions()วิธีการของแอททริบิวส่งคืนตัวเลือกที่จัดเรียงด้วยอาร์เรย์ที่ซ้อนกัน (แสดงเป็น<optgroup>แบบเลื่อนลง)
Tyler V.

คำตอบ:


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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.