Magento: получить простой цвет продукта из пользовательской таблицы - PullRequest
0 голосов
/ 26 сентября 2011

Я действительно борюсь с этим в Magento 1.10 Enterprise.У меня есть массив простых идентификаторов цвета продуктов, и я хочу использовать этот идентификатор для запроса таблицы atb_color.Необработанный запрос:

SELECT description FROM atb_colors WHERE option_id = 'my_color_id'

Вот метод, который я пытался построить:

public function getColorData($product){ 
    $ids = $product->getTypeInstance()->getUsedProductIds();    
    foreach($ids as $id){
        $simpleproduct = Mage::getModel('catalog/product')->load($id);
                    -->Query using my_color_id

    }       
}

Я могу использовать это, чтобы получить имя и количество.Если я помещу это в цикл foreach:

echo $simpleproduct->getName()." - ".(int)Mage::getModel('cataloginventory/stock_item')->loadByProduct($simpleproduct)->getQty() . '<br />';

Как мне выполнить этот запрос.Прости меня, я очень новичок в Magento.Это довольно сложно понять.Но я в срок, чтобы закончить этот раздел отображения цвета и размера.Любая помощь?Пожалуйста, пожалуйста !!

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

1 Ответ

1 голос
/ 27 сентября 2011

Это самый странный взлом, но если вы действительно спешите

public function getProductCustomColor($product)
{
    $ids = $product->getTypeInstance()->getUsedProductIds();
    foreach($ids as $id){
        $simpleProduct = Mage::getModel('catalog/product')->load($id);
        $select = $product->getResource()->getReadConnection()->select()
            ->from('atb_colors', array('description'))
            ->where('option_id = :my_color_id');
        $colorDescription = $product->getResource()->getReadConnection()
            ->fetchOne($select, array('option_id' => $simpleProduct->getYourColorId()));
        // ...
    }
}

Всем: никогда не пишите код для magento таким образом .

...