Làm thế nào để có được thuộc tính nhãn tùy chọn / văn bản thuộc tính có một giá trị thuộc tính của người dùng (tùy chọn_id)?


18

Giả sử tôi có một thuộc tính là một tập hợp các tùy chọn (thả xuống / multiselect).

Tôi có thể truy xuất giá trị thuộc tính cho một sản phẩm nhất định:

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

Bây giờ, tôi đã có tùy chọn thuộc tính_id là giá trị số ...

... Cách tốt nhất để tải nhãn thuộc tính frontend cho giá trị thuộc tính của tôi là gì? (không tải toàn bộ sản phẩm)

Giải pháp cảm ơn 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
Tại sao câu hỏi này được đưa ra nhiều lần bởi tác giả chính xác và tất cả chúng gây nhầm lẫn cho người dùng. Chúng ta có thể đánh dấu trùng lặp như những câu hỏi này mà không có câu trả lời đúng không? Câu hỏi magento.stackexchange.com/questions/3003 này được đưa ra bởi tác giả không có câu trả lời đúng, nhưng tại sao lại đưa ra câu trả lời (và đưa ra câu trả lời của riêng mình)! Cái này magento.stackexchange.com/questions/976 cũng vậy. Có thể yêu cầu của tôi không đúng, nhưng một câu hỏi, một tác giả và không có câu trả lời. Xin vui lòng, giữ chất lượng của trang web. Cảm ơn.
mageUz

Tôi đã cải thiện câu hỏi khác khi thêm giải pháp @Marius magento.stackexchange.com/questions/3003/ mẹo
Fra

1
Lưu ý rằng ít nhất trong Magento CE 1.9 và EE 1.14 trở xuống, getAttributeText('value')không hoạt động chính xác nếu getAllOptions()phương thức của thuộc tính trả về các tùy chọn được sắp xếp với các mảng lồng nhau, (được biểu thị dưới dạng <optgroup>thả xuống.)
Tyler V.

Câu trả lời:


49

Ngoài mã của bạn, hãy đặt mã này:

$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
Tôi bối rối cho "nhãn thuộc tính frontend", xin vui lòng, sửa câu hỏi. Không phải "nhãn thuộc tính", đây là "nhãn tùy chọn" hoặc "văn bản thuộc tính"
mageUz
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.