加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – Magento正确的方式重建索引单项和相关组产品

发布时间:2020-12-13 16:38:58 所属栏目:PHP教程 来源:网络整理
导读:在修改单个项目后,重新编制索引的正确方式是什么? 示例上下文: 我们公司依靠名为Stone Edge的第三方库存管理平台.我们还在多个店面上销售商品,包括Magento,Amazon,Ebay和Buy.com Stone Edge每10分钟一次会从网站下载所有订单,然后将库存调整寄回我们的Mage
在修改单个项目后,重新编制索引的正确方式是什么?

示例上下文:

我们公司依靠名为Stone Edge的第三方库存管理平台.我们还在多个店面上销售商品,包括Magento,Amazon,Ebay和Buy.com

Stone Edge每10分钟一次会从网站下载所有订单,然后将库存调整寄回我们的Magento商店.这是通过向存储在我们的网络服务器上的一个php脚本发送一个简单的http请求,其中包含了自上次更新以来有库存变化的库存中的每个项目的键值对数组.

在其中每个完成保存功能后,该项目将被重新编入索引,以免在更新时间和下一个重新建立索引之间反映0个库存.

我在Magento论坛上讨论了如何重新索引项目:

$item->setForceReindexRequired(true);
Mage::getSingleton('index/indexer')->processEntityAction($item,Mage_CatalogInventory_Model_Stock_Item::ENTITY,Mage_Index_Model_Event::TYPE_SAVE);

在这套说明之前,你会看到类似的东西

$item = Mage::getModel('cataloginventory/stock_item')->loadByProduct($entityid);
$item->addQty($change);
$item->save();

但是,完成这个之后,一个问题变得很明显.这些项目本身被重新编入索引,但是如果它们是分组产品的成员,则组合产品未更新.

有一个明显的问题,我需要解决.这个问题的最佳方法是什么?

如果我碰巧拿出一个,我会发布一个答案.

首先,感谢每个产品的reindex代码.正在寻找

至于更新父母,我会在更新简单产品时收集一个数组中的产品的父代号.

$masterIds [] = Mage :: getModel(‘catalog / product_type_configurable’)
– > getParentIdsByChild($product-> getId())

而当你完成了简单的产品后,只需要重新编译它们,并将它们设置为重新编号,并且 – > setForceReindexRequired(true)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读