Magento Получить Детский Вариант Продукта - PullRequest
2 голосов
/ 22 июля 2011

Я чувствую, что гибкость Magento позволила бы решить мою проблему, но я еще ничего не нашел.

Итак, по сути, мне нужно получить значение атрибута для дочернего продукта настраиваемого продукта. Пока все, что я могу сделать, это в файле view.phtml:

if ($_product->getTypeId() == 'configurable')
{
    $confAttributes = $_product->getTypeInstance(true)->getConfigurableAttributesAsArray($_product);
    print_r($confAttributes);
}

Но это из родительской сферы вещей. В основном моя проблема в том, что мне нужно получить изображения дочерних продуктов, но когда я прохожу такой цикл, как этот ...

if ($_product->getTypeId() == 'configurable')
  $_child_products = $_configurable_model->getUsedProducts(null, $_product);
for ($i = 0; $i < count ($_child_products); $i++){
    <?php echo $this->helper('catalog/image')->init($_child_products[$i], 'image'); ?>
}

Но теперь это сфера с точки зрения детского продукта. Мне нужно как-то соотнести дочерний продукт со значением атрибута, которое он принимает (для использования с jQuery и манипулированием изображениями).

Так есть ли способ получить некоторую информацию с точки зрения child_product, которая может связать ее с атрибутом?

1 Ответ

2 голосов
/ 05 августа 2011

Надеюсь, этот код поможет вам, если я правильно понял вопрос.

        $product = Mage::getModel('catalog/product')->load($id);

    $childIds = Mage::getModel('catalog/product_type_grouped')
    ->getChildrenIds($product->getId());

    $i = 1;

    foreach ($childIds as $key => $val){

        foreach($vals as $keyy => $vall){
            $arr[$i] = $vall;
            $i++;
        }

    }

$ id -> это идентификатор продукта группы.

$ arr ->массив, который содержит идентификаторы дочерних продуктов.

        $collection = Mage::getModel('catalog/product')
    ->getCollection()
    ->addAttributeToSelect('name')
    ->addAttributeToSelect('price')
    ->addFieldToFilter('entity_id',array('in' =>array($arr)));

приведенный выше фрагмент кода показывает, как получить дочерние продукты.

...