Nhận giá trị tùy chọn theo Id thuộc tính trong Magento


11

Làm thế nào Magento có thể tìm thấy một giá trị thuộc tính bằng nhãn thuộc tính nhất định hoặc id thuộc tính đã cho?


Tôi tin rằng điều này được trả lời bởi một câu hỏi SO khác được xem [tại đây] ( magento.stackexchange.com/a/8394 )
sbditto85

Câu trả lời:


15
$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

Đơn giản chỉ cần đặt - sử dụng phương thức getAttributionText .

$product->getAttributeText('brand')

Đây là câu trả lời đúng.
Owen

1
Điều này thật khó tìm, nhưng thật đơn giản.
Patrick Lee Scott

2

Trong trường hợp bất kỳ ai tìm thấy trang này và muốn một số phương pháp tìm kiếm thuộc tính thấp, thay vì chỉ thuộc tính sản phẩm, đây là một ví dụ để tìm một thuộc tính ngẫu nhiên mà tôi đã tạo được gọi là 'đặc sản' và liệt kê tất cả các tùy chọn như một mảng.

$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();
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.