gpt4 book ai didi

php - 以编程方式将简单产品附加到可配置产品

转载 作者:可可西里 更新时间:2023-11-01 12:43:09 27 4
gpt4 key购买 nike

我正在尝试以编程方式将一些现有的简单产品加入现有的可配置产品。

我几乎找不到任何关于此的提示/文档。我检查了 MAGMI Magento Mass Importer 插件(特别是 magmi_productimportengine.php 文件)但没有成功。

之后我找到了这个片段:

function attachProductToConfigurable($childProduct, $configurableProduct)
{
$loader = Mage::getResourceModel('catalog/product_type_configurable')
->load($configurableProduct, $configurableProduct->getId());

$ids = $configurableProduct
->getTypeInstance()
->getUsedProductIds();

$newids = array();
foreach ($ids as $id) {
$newids[$id] = 1;
}
$newids[$childProduct->getId()] = 1;

//$loader->saveProducts( $_configurableProduct->getid(), array_keys( $newids ) );
$loader->saveProducts($configurableProduct, array_keys($newids));
}

但是当我尝试这样调用函数时:

$sProduct = Mage::getModel('catalog/product')
->loadByAttribute('sku', $v);
$cProduct = Mage::getModel('catalog/product')
->loadByAttribute('sku', $sku);
attachProductToConfigurable($sProduct, $cProduct);

(每个简单产品 SKU 逐步传递到可配置产品)

Fatal error: Call to a member function getId() on a non-object in ... on line 1018

which is this line from the function itself

$loader = Mage::getResourceModel('catalog/product_type_configurable')
->load($configurableProduct, $configurableProduct
->getId());

由于我没有发现任何类似于将简单 SKU 连接到现有可配置产品的东西,所以我一直在寻找初始化函数调用、资源模型等时可能出现的问题。

非常感谢您提出任何关于要关注什么以实现这一目标的想法。

最佳答案

试一试:

Mage::getResourceSingleton('catalog/product_type_configurable')
->saveProducts($mainConfigrableProduct, $simpleProductIds);

其中 $mainConfigrableProduct 必须是可配置产品的实例,而 $simpleProductIds 是一个数组,其中包含与可配置产品关联的简单产品的 ID。

旁注,执行此操作时要非常小心。简单产品必须与可配置产品位于同一属性集中。 Here is what can happen if they are not .

关于php - 以编程方式将简单产品附加到可配置产品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23287407/

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