首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以编程方式刷新Mage产品

以编程方式刷新Mage产品
EN

Stack Overflow用户
提问于 2014-12-13 02:55:38
回答 1查看 614关注 0票数 1

我正在通过API使用magmi进行产品导入。我的脚本将csv文件解析成$product_rows,然后使用我的属性在mage中加载一个产品,以获取magmi要使用的sku。我这样做是因为稍后我将使用已加载magento skus的外部数据库,以利用magmi导入的速度。下面是我在mage中拉取skus的方法:

代码语言:javascript
复制
$magentoproducts = Mage::getResourceModel('catalog/product_collection')
                    ->addAttributeToSelect('*')
                    ->addAttributeToFilter('mpn', $product_row['mpn'])
                    ->addAttributeToFilter('brand', $_POST['selectbrand'])
                    ->load();
foreach($magentoproducts as $product){

                $items[] = array(
                "store" => 'admin',
                "sku" => $product->getSku(),
                "price" => $product_row['map']
                );

            }
foreach($items as $item){
            $dp->ingest($item); //do the update
        }

问题是我的价格在magento的管理产品页面中更新了,但它们没有显示在目录中。然后,我将以下代码放入reindex catalog_product_price,这会更改搜索页面上显示的价格,但不会在添加产品时更改实际的产品页面或购物车。

代码语言:javascript
复制
Mage::getModel('index/indexer')
    ->getProcessByCode('catalog_product_price')
    ->reindexAll();

我尝试在magento管理面板中手动重新索引其他几个索引,也尝试从magento面板中清除缓存。唯一能让价格在所有页面上更新的是从magento的增强产品管理器中刷新产品,尽管这需要大约2-3秒的时间。此操作对哪些索引进行重新索引?哪些缓存?

EN

回答 1

Stack Overflow用户

发布于 2014-12-13 17:41:42

您可能已经为产品启用了平面模式。如果是,请在更新后尝试调用下一个命令:

代码语言:javascript
复制
Mage::getResourceModel('catalog/product_flat_indexer')->rebuild();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27450260

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档