2

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 の観点から属性にリンクできる情報を取得する方法はありますか?

4

1 に答える 1

2

質問に対する私の理解が正しければ、このコードが役立つことを願っています。

        $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 -> はグループ商品の商品 ID です。

$arr -> 子製品の ID を含む配列。

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

上記のコード スニペットは、子製品を取得する方法を示しています。

于 2011-08-05T06:46:08.893 に答える