Magento: класс для извлечения данных из eav_attribute_option_value - PullRequest
5 голосов
/ 27 февраля 2012

У меня есть следующие данные в eav_attribute_option_value установки Magento 1.4.0.1.

value_id  |  option_id  |  store_id  |  value
-------------------------------------------------------------------------
35        |  7          |  0         |  Levertijd 1 tot 3 werkdagen
36        |  6          |  0         |  Levertijd 4 tot 10 werkdagen
37        |  5          |  0         |  Langer dan 11 werkdagen
38        |  4          |  0         |  Levertijd onbekend
39        |  3          |  0         |  Pre-Order

У меня есть данные option_id в переменной, скажем, $ delivery (пример = 6). Я хочу получить данные, используя существующий класс Magento. Таким образом, выходные данные должны быть "Levertijd 4 tot 10 werkdagen".

Кто-нибудь знает, существует ли в Magento функция, которую я могу использовать для этого?

Заранее спасибо.

Ответы [ 2 ]

6 голосов
/ 08 августа 2012

Вы можете напрямую загрузить атрибут attribute_option_value с помощью $option_id

$eav_attribute_option_value = Mage::getModel('eav/entity_attribute_option')
    ->getCollection()
    ->setStoreFilter()
    ->join('attribute', 'attribute.attribute_id=main_table.attribute_id', 'attribute_code')
    ->addFieldToFilter('main_table.option_id', array('eq' => $option_id))
    ->getFirstItem();

Затем получить доступ к его значению

$eav_attribute_option_value->getValue()
3 голосов
/ 27 февраля 2012
// Your variable
$option_id = 6;

// Retrieve values
$attributes = Mage::getModel('eav/entity_attribute_option')->getCollection()->setStoreFilter()->join('attribute','attribute.attribute_id=main_table.attribute_id', 'attribute_code');
foreach ($attributes as $attribute) {
    if ($attribute->getOptionId()==$option_id) {
        echo $attribute->getValue();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...