我可以成功地删除与MAGMI的网页前端产品。但是当使用datapump API时,它似乎忽略了magmi:删除列.
$this->magmi = Magmi_DataPumpFactory::getDataPumpInstance("productimport");
$this->magmi->beginImportSession("Default","create", new MagmiLogger($this));
$prods = Mage::getResourceModel('catalog/product_collection');
$count = $prods->getSize();
$i = 0;
foreach ($prods as $_p) {
$this->magmi->ingest(array(
'sku' => $_p->getSku(),
'magmi:delete' => '1'
));
}
$this->magmi->endImportSession();使用这段代码,我尝试删除我的整个目录。在执行时,foreach循环通过MAGMI没有任何异常或错误。Product插件是在我选定的默认配置文件中激活的。
我在这里错过了什么?
发布于 2013-03-25 07:32:26
但我选择了错误的侧写..。它适用于发布的代码,当您真正选择一个带有激活的"Product“插件的配置文件时。
发布于 2021-12-30 10:09:01
单击此处将MAGMI添加到模块 -> https://magento.stackexchange.com/a/351175中
启用ProductDeleterplugin.

使用CSV的
"sku","magmi:delete"
"sku1","1"
"sku2","1"使用代码
$importData = [];
$configProduct = new \Magmi_ProductImport_DataPump('productimport');
$importData['sku'] = "your Product SKU";
$importData['magmi:delete'] = "1";
$configProduct->beginImportSession("default", "update");
$run = $configProduct->ingest($importData);
$configProduct->endImportSession();检查数据库中的catalog_eav_attribute表。如果is_configurable列不存在,那么从getConfigurableOptsFromAsId()函数在此文件.../magmi/plugins/base/itemprocessors/configurables/magmi_configurableprocessor.php中更新下面的代码
//$sql .= " JOIN $cea as cea ON cea.attribute_id=ea.attribute_id AND cea.is_global=1 AND cea.is_configurable=1";
$sql .= " JOIN $cea as cea ON cea.attribute_id=ea.attribute_id AND cea.is_global=1";
} else {
//$cond .= " AND ea.is_global=1 AND ea.is_configurable=1";
$cond .= " AND ea.is_global=1";注释:-magmi:删除:1是删除产品0是不删除产品
https://stackoverflow.com/questions/15609702
复制相似问题