在magento 1.9数据导出中收到错误


receive error in magento 1.9 data export

在Magento 1.9中导出产品数据时,我收到了一个错误。它显示"没有发送有效数据"。根据其他帖子,我能够找到我的"system.log"(在var/log文件夹&权限更改为777)。看起来有几个错误,我不确定什么时候发生的,也不知道该看哪个。最后一个似乎是相关的:

注意:未定义的偏移量:331在包含/src/Mage_ImportExport_Model_Export_Entity_Product.php的第875行。

我读到331 = Product ID。但是,当我去管理产品时,没有331的产品ID。我可能在几周前测试上传时添加了它,但我已经删除了它。所以,我不知道该怎么做。

我也试图找到错误中提到的文件,但它不在该文件路径中。我最后去了:

应用程序/代码/核心/法师/进出口/模型/出口/实体。

(我假设这是要检查的正确文件)。The code on line 873-5为:

} else {    
$dataRow[self::COL_STORE] = null;
$dataRow += $stockItemRows[$productId];

下一步有什么建议吗?非常感谢您的帮助!

请注意:我也检查了我的exceptions.log,从8月11日起,它看起来好像没有任何东西被添加到文件中。

首先,您的权限是错误的。在与Magento安装相同的目录下,在SSH下运行以下命令:

find . -type f -exec chmod 644 {} ';
find . -type d -exec chmod 755 {} ';
chmod 550 pear
chmod 550 mage #for magento 1.5+

我还闻到了编译的味道。

禁用Magento管理面板中的编译。

[System -> Tools -> Compilation -> Disable]

同时通过SSH清除所有Core/Storage缓存。运行以下命令,

cd <your-magento-installation-directory>/var/cache/
rm -rf *

重试数据导出

我最终解决了更改第875行代码的问题:

} else {
$dataRow[self::COL_STORE] = null;
if ($productId < 331 and $productId  > 333)  $dataRow += $stockItemRows[$productId];