在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];