2013-07-10 70 views
3

我使用系统导入/导出导入选项导入了产品。在Magento导入后,产品未显示在前端

我可以看到我的产品在管理控制台中,而不是在前端。

我试图重新建立索引,缓存清理,缓存刷新,物理缓存中删除。

还检查了产品库存状态,可用性等。一切正常。

但他们不显示在前端。我打开了标签,如果我打开使用csv导入的产品,只是保存没有任何更改,就会开始显示。但我有100多种产品。所以我不能使用这个解决方案。

所以,请帮我在哪里,我在CSV去错了。下面是我的csv截图。

enter image description here enter image description here enter image description here enter image description here

+1

您是否检查了网站标签?并且他们也被分配到类别或不。 –

+0

我需要在我的csv文件中做什么更改? – Dolly

+0

首先检查找到问题后,在一个或两个产品上更改csv.try这些测试。 –

回答

0

我不应该忘记CSV列是强制性的,但我不记得,如果漏掉某些进口商不告诉你,而是你得到你所描述的行为。

,找出哪些是强制性的最简单的方法是:在Magento ImportExport模块

  1. 修正错误
  2. 在管理员创建一个新的产品
  3. 检查新产品可见前端
  4. 用Magento Import Export导出器导出新产品
  5. 删除创建的产品
  6. 导入以前导出产品的csv
  7. 清除缓存和重新索引数据
  8. 检查该产品是在前端可见的(应该是)
  9. 与导出一个比较你的CSV和揣摩是什么从它缺少
  10. 尝试使用添加/固定列导入CSV和,直到该产品采用进口增加的数据,使其在前端可见

这就需要配发的试验和错误的...

在我的情况下缺少的列总是有相同的值,所以如果这将是您的问题的情况,以及您可以简单地扩展CSV导入器,并在那里硬代码这些值,而不是手动修复您的CSV。

,如果你在管理员打开它,保存它,因为你的产品得到正确保存,你还可以:

  1. 进口产品
  2. 出口该产品
  3. 打开该产品在管理和保存
  4. 出口新保存产品
  5. 比较导出CSV-S它们的不同

固定的Magento ImportExport错误:

首先错误是,如果您导入多种产品,从第一产物的数量informatino用于所有的产品。要解决这个问题,您必须在$row['product_id'] = $this->_newSku[$rowData[self::COL_SKU]]['entity_id'];之前$row = array();之前添加Mage_ImportExport_Model_Import_Entity_Product::_saveStockItem()函数。

第二个错误导致Magento ImportExport模块在导入多个产品时返回一个外键约束错误。由于magento将产品数据分割成多个分段,并且如果一个产品位于两个分段中,导入程序将删除导入第二个分段之前为第一个分段中的产品导入的数据,从而导致数据库损坏(请参阅this link以获取详细说明 - 这是我在那里得到了解决方案)。

请注意,删除外键约束不会解决问题,但反而会使情况变得更糟,因为数据库将包含损坏的数据。

要解决它,你必须改变Mage_ImportExport_Model_Import_Entity_Abstract::_saveValidatedBunches()函数的代码:添加

if ($startNewBunch && count($bunchRows) > 1) { 
    $arrKeys = array_keys($bunchRows); 
    $arrNew = array(); 
    while(($tRow = array_pop($bunchRows))) { 
    $tKey = array_pop($arrKeys); 

    $arrNew[$tKey] = $tRow; 

    if ($tRow['sku']) { 
     break; 
    } 
    } 
    $nextRowBackup = array_reverse($arrNew, TRUE) + $nextRowBackup; 
} 

希望这有助于

if ($startNewBunch || !$source->valid()) {后。

-1

当我第一次开始通过csv导入产品时,虽然我将产品设置为启用,但我发现即使它在magento后端显示为启用,它实际上并不是 - 认为它与将字段内容设置为“1”或“0”而不是“启用”或“禁用/空”。

为了解决这个问题,在导入后,我简单地选择了后端的所有产品,并将状态更改为启用 - 它解决了问题。

但是,我确实认为,如果我只是改变了CSV导入数据,它会为我节省这个次要的便利。

1

您需要确保产品连接到网站。

这可以通过批量更新来完成:

  • 接入产品listm选择所有
  • 阿尔特属性
  • 产品信息 - >网站

它也可以在完成csv通过使用“_product_websites”字段并将其设置为网站名称或“基础”。

0

最近我有同样的问题,我花了一些时间特林看着办吧......

貌似Magento的需要一个状态标志为每个产品Magento的,否则不会在仪表板显示它。

解决方法:添加一个“状态”列到您的CSV文件,并设置所有为“已启用”状态 (是的,它不是一个布尔值,只用字符串的引号内,因为它是:)

0

我。我遇到了同样的问题,然后我访问了我的var/export/export_all_products文件,再次下载并通过导入上传了相同内容,退出了我的帐户并登录回去,所有产品都返回了。这对我来说是一种备份,我可以在后端看到所有产品。

0
  1. 导入,因为你有。如果他们已启用,但不显示...

  2. 然后,您可以通过单击“管理产品”表中的“全选”产品,然后“更改状态”,然后选择“启用”来解决此问题。这个过程可能需要一分钟。

  3. 访问您的商店,你应该看到你的产品前端。

某种类型的状态/启用设置的错误。

0

您必须在下一个字段CSV

sku 
_attribute_set 
_type 
_category 
description 
image 
name 
price 
short_description 
status 
tax_class_id 
thumbnail 
visibility 
weight 
qty 
_product_websites 
is_in_stock 

请注意,场is_in_stock是强制性的,即使qty更多然后1

0

在Magento 2,我们需要在索引管理重新索引中显示的产品前端。
我们可以通过cmd.like给出的例子重新索引,我们需要在cmd php -f bin/magento indexer:reindex之后进入magento文件目录以重新索引。

1

相关问题