Magento获得的相关产品没有加载所有属性

时间:2017-08-22 23:46:07

标签: php magento orm magento-1.9 entity-attribute-value

我接管了一个项目并看到之前的开发人员添加了一个自定义相关产品协会。所以他实现了一个函数来使相关的集合看起来像这样

/**
 * Retrieve collection CustomRelated product
 *
 * @return Mage_Catalog_Model_Resource_Product_Link_Product_Collection
 */
public function getCustomRelatedProductCollection()
{
    $collection = $this->getLinkInstance()->useCustomRelatedLinks()
        ->getProductCollection()
        ->setIsStrongMode();
    $collection->setProduct($this);
    return $collection;
}

然后在phtml文件中,他像这样调用它

$upsell_products = $_product->getCustomRelatedProductCollection();

然后他在foreach中使用该集合,并且集合中的每个元素都使用模型' catalog / product',但不知何故它没有加载足够的属性,如价格和名称

只有在我再次调用load函数时才会加载所有属性

Mage::getModel('catalog/product')->load($p->getId())

我不想这样做,因为重新加载模型毫无意义,我还是Magento的新手,所以我不确定如何将上面的get集合添加到完全加载产品型号,任何想法?

2 个答案:

答案 0 :(得分:2)

您可以加载需要的属性(名称,价格),如下所示。

MySDK.jar

答案 1 :(得分:1)

//我在你的代码中添加了新行。请立即查看。

public function getCustomRelatedProductCollection()
{
    $collection = $this->getLinkInstance()->useCustomRelatedLinks()
        ->getProductCollection()
        ->setIsStrongMode();
    $collection->setProduct($this);
    $collection->addAttributeToSelect('*'); //New line added by me.
    return $collection;
}