我使用系统 - 导入/导出 - 导入选项导入产品。
我可以在管理员面板中看到我的产品,但不能在前端看到。
我尝试了重新编制索引,缓存清除,缓存刷新,物理缓存删除。
还检查了产品库存状态,可用性等。一切正常。
但他们没有在前端展示。我标记了onething,如果我打开使用csv导入的产品,只是保存而没有任何更改,它开始显示。但我有100多种产品。所以我不能使用这个解决方案。
所以请帮助我在csv中出错的地方。下面是我的csv截图。
答案 0 :(得分:1)
您需要确保产品已附加到网站上。
这可以通过批量更新来完成:
也可以在csv中使用“_product_websites”字段并将其设置为网站名称或“base”来完成。
答案 1 :(得分:0)
我忘记了哪些CSV列是强制性的,但我确实记得,如果有些列丢失,导入器不会告诉您,而是您得到了您正在描述的行为。
找出强制性内容的最简单方法是:
这需要分配试错......
我的案例中缺少的列总是具有相同的值,因此如果您的问题也是如此,您只需扩展CSV导入程序并在其中硬编码这些值,而不是手动修复CSV。
如果您的产品在管理员中打开并正确保存,您也可以:
修复Magento ImportExport错误:
第一个错误是,如果您导入多个产品,则第一个产品的数量信息将用于所有产品。要解决此问题,您必须在$row = array();
函数中$row['product_id'] = $this->_newSku[$rowData[self::COL_SKU]]['entity_id'];
之前添加Mage_ImportExport_Model_Import_Entity_Product::_saveStockItem()
。
第二个错误导致Magento ImportExport模块在导入多个产品时返回外键约束错误。发生错误是因为magento将产品数据拆分为多个段,如果一个产品位于两个段中,导入器将删除在导入第二个段之前在第一个段中为该产品导入的数据,从而导致数据库损坏(有关详细信息,请参阅this link解释 - 这是我在下面得到解决方案的地方。)
请注意,删除外键约束不会解决问题,但会更糟糕,因为数据库将包含损坏的数据。
要解决此问题,您必须更改Mage_ImportExport_Model_Import_Entity_Abstract::_saveValidatedBunches()
功能中的代码:
if ($startNewBunch || !$source->valid()) {
添加
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;
}
希望这有帮助。
答案 2 :(得分:0)
我最近遇到了同样的问题,我花了一些时间来弄明白......
看起来magento需要每个产品的状态标志,否则magento不会在仪表板中显示它。
解决方案:在CSV文件中添加“状态”列,并将所有状态设置为“已启用” (是的,它不是布尔值。只需使用引号内的字符串:)
答案 3 :(得分:0)
我遇到了同样的问题,然后我访问了我的var / export / export_all_products文件,再次下载并通过导入上传了相同的内容,退出了我的帐户并登录回来,所有产品都回来了。这对我来说是一个备份,我可以在后端看到所有产品。
答案 4 :(得分:0)
按原样导入。如果它们已启用,但未显示...
然后您可以通过单击“管理产品”表中的“全选”产品然后“更改状态”然后选择“启用”来解决此问题。此过程可能需要一分钟。
访问您的商店,您应该看到您的产品前端。
状态/启用设置的某种错误。
答案 5 :(得分: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
超过1
qty
也是必填字段
答案 6 :(得分:0)
在magento 2中,我们需要在索引管理中重新索引以在前端显示产品
我们可以通过cmd重新索引。就像给定的示例一样,我们需要在cmd php -f bin/magento indexer:reindex
之后输入magento文件目录来重新索引。
答案 7 :(得分:-1)
当我第一次开始通过csv导入产品虽然我将产品设置为启用时,我发现尽管它在magento后端显示为启用,但它实际上并非 - 认为它与将字段内容设置为“ 1“或”0“而不是”启用“或”禁用/空“。
为了解决这个问题,在导入后我只选择后端的所有产品并将状态更改为启用 - 它解决了问题。
但是,我确实认为如果我只是简单地更改了csv导入中的数据,它将为我节省这种轻微的便利性。