尝试使用数据流导出功能时,我在Magento中收到错误。
Path "path/filename.csv" is not available and cannot be used.
这个功能以前用得很好,所以我不知道会出现什么问题。我已经检查了文件夹和文件的权限,它们很好(777)。另外,我尝试删除现有文件或尝试不同的路径名称,但仍然没有骰子。
经过一些更多的测试后,似乎只发生了我个人创建的路径。当使用由Magento创建的路径(例如var / export)时,它可以正常工作。
答案 0 :(得分:2)
Afaik这与1.4或1.5附近的某些数据流更改有关,其中Varien开始将类型Local Server
的数据流配置文件限制为特定目录和文件掩码:
array(
'export_xml' => 'var/export/*/*.xml',
'export_csv' => 'var/export/*/*.csv',
'import_xml' => 'var/import/*/*.xml',
'import_csv' => 'var/import/*/*.csv'
);
使用Magento默认设置,这意味着您的导出文件必须驻留在var/export
或其子文件夹中,如`var / export / mydir / my.csv'。
Magento 1.5.1实际上在配置文件向导中显示了一个适当的提示:
(对于Type“Local Server”需要使用 Magento安装的相对路径 var / export或var / import,例如 var / export,var / import, VAR /导出/一些/目录, VAR /进口/一些/ DIR)
我只是浏览了源代码,但我想在var/export
之外使用您自己的路径,您需要覆盖Mage_Core_Model_File_Validator_AvailablePath::isValid()
和/或覆盖Mage_ImportExport_Helper_Data::getLocalValidPaths()
。
更容易使用符号链接(感谢@ColinM提及),但这当然只适用于允许/激活符号链接的系统。
答案 1 :(得分:2)
不需要覆盖Mage_ImportExport_Helper_Data::getLocalValidPaths()
只需要在self模块中添加config.xml
<config>
<default>
<general>
<file>
<importexport_local_valid_paths>
<available>
<my_new_path_to_csv>var/import/*/*.csv</my_new_path_to_csv>
</available>
</importexport_local_valid_paths>
</file>
</general>
</default>
</config>
这个问题必须以这种方式解决。
答案 2 :(得分:2)
从Magento 1.4更新到1.7后,我遇到了这个问题。 文件名更具限制性。要确保使用正确的文件名,只需删除导出配置文件中文件名字段的内容即可。 保存配置文件后,Magento将自动插入有效的文件名。
答案 3 :(得分:0)
如果您使用的是具有大型提供程序的托管服务器,则出于安全原因,有时不允许chmod 777
。请尝试使用该文件夹上的755
,看看是否能解决问题。
答案 4 :(得分:0)
我已关闭文件扩展名。我最后添加了.csv,一切都很好。