我正在尝试模仿与使用管理面板禁用产品时相同的行为。我正在尝试做这样的事情:
$product = $this->productRepository->get($sku);
$product->setStatus(\Magento\Catalog\Model\Product\Attribute\Source\Status::STATUS_DISABLED);
$this->productRepository->save($product);
但我仍然在管理面板中将其启用。
谢谢。
此代码应该起作用。当您在管理面板中查看产品详细信息时,状态如何?如果要立即查看更改,请确保重新索引模式为“保存”
—
Stijn Duynslaeger-Echron
如果我转到产品>目录,它仍然显示已启用。而且,如果我尝试[GET] / products / search /?searchCriteria ...我仍然看到它,并且状态等于
—
1。– awavi
您确定此代码会执行吗?您可以调试代码吗?也许尝试设置另一个属性,例如description,以查看产品是否被保存。检查错误日志。我曾经因为字段无效而无法保存产品...(您可以通过尝试在管理面板中保存更改来进行检查)
—
Stijn Duynslaeger-Echron 2016年
是的,我确定它会执行。我可以并且已经调试了它。没有日志。不,它不起作用。
—
awavi '16
您是说无法将产品保存在管理面板中?
—
Stijn Duynslaeger-Echron