gpt4 book ai didi

Magento 1 - 如何获得产品组的关联产品?

转载 作者:行者123 更新时间:2023-12-03 11:11:33 30 4
gpt4 key购买 nike

我正在遍历产品结果,如果产品是分组产品,我想获取该组中的所有产品。我这样做:

$products = Mage::getModel('catalog/product')
->getCollection()
->addAttributeToSelect('*');
foreach ($products as $product) {
if ($product->getTypeId() == 'grouped'){
// how do I now get associated products of $product?
}
}

最佳答案

在:

/magento/app/design/frontend/base/default/template/catalog/product/view/type/grouped.phtml

你会看到他们使用这个:
<?php 
$_associatedProducts = $this->getAssociatedProducts();

由于该 phtml 文件的类型为 Mage_Catalog_Block_Product_View_Type_Grouped ,我们可以去:
/magento/app/code/core/Mage/Catalog/Block/Product/View/Type/Grouped.php

并看到 Mage_Catalog_Block_Product_View_Type_Grouped::getAssociatedProducts()做这个:
<?php
$this->getProduct()->getTypeInstance()->getAssociatedProducts($this->getProduct());

所以我们可以安全地假设 $this->getProduct()返回一个产品对象,并将其替换为您的 $product像这样的变量:
<?php
if ($product->getTypeId() == 'grouped'){
// how do I now get associated products of $product?
$associatedProducts = $product->getTypeInstance()->getAssociatedProducts($product);
}

如果我要完全优化您的代码,我会这样写:
<?php
$products = Mage::getModel('catalog/product')
->getCollection()
->addAttributeToFilter('type_id', array('eq' => 'grouped'));
foreach ($products as $product) {
$associatedProducts = $product->getTypeInstance()->getAssociatedProducts($product);
// Do something with $associatedProducts
}

关于Magento 1 - 如何获得产品组的关联产品?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8579765/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com