我正在尝试以编程方式操纵Magento商店中的产品关系.
根据我的阅读,setRelatedLinkData应该是最佳选择.
正如我简单的测试一样,我只是试图用什么都没有替换产品相关产品(即空数组),但是它不起作用 - 有问题的产品仍在后端显示相关产品.
我正在使用的测试代码是:
$product = Mage::getModel('catalog/product')->load($product->getId());
$linkData = array();
print_r($linkData);
$product->setRelatedLinkData($linkData);
echo "Save\n";
$r = $product->save();
Run Code Online (Sandbox Code Playgroud)
如上所述,当我在后端重新加载产品时,产品仍然有相关产品.
注意:我不仅要删除相关产品,最终我希望能够添加新产品,因此DELTE FROM ... SQL查询不是我想要的.但是,如果我无法让它去除产品,那么添加它们肯定不会起作用,所以一步一步:-)
小智 8
我能想到的最快的方法是使用链接资源:
app/code/core/Mage/Catalog/Model/Resource/Product/Link.php saveProductLinks
// sample code
$product = Mage::getModel('catalog/product')->load(147);
$linkData = array();
Mage::getResourceModel('catalog/product_link')->saveProductLinks(
$product, $linkData, Mage_Catalog_Model_Product_Link::LINK_TYPE_RELATED
);
Run Code Online (Sandbox Code Playgroud)
如果你想分配产品使用相同的代码,但提供这个$ linkData:
$linkData = array(
'145' => array('position' => 1),
'146' => array('position' => 2)
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3327 次 |
| 最近记录: |