【发布时间】:2013-11-25 16:31:13
【问题描述】:
我正在尝试创建一个简单的小部件,该小部件将从谷歌文档电子表格中读取并在我的网站上打印表格。到目前为止,我在 Block 文件夹中:
<?php
class Namespace_Module_table
extends Mage_Core_Block_Abstract
implements Mage_widget_block_interface
{
protected function _toHtml()
{
$spreadsheet_url= pathToCSV;
if(!ini_set('default_socket_timeout', 15)) echo "<!-- unable to change socket timeout -->";
if (($handle = fopen($spreadsheet_url, "r")) !== FALSE)
{
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE)
{
$spreadsheet_data[]=$data;
return $spredsheet_data[];
}
fclose($handle);
}
else
return 'Problem reading csv';
}
}
?>
这是一个相当基本的代码,只是为了测试它是否正确地从文件中读取,但是每当我将包含扩展名的文件夹上传到服务器时,整个开发站点就会显示:
Warning: simplexml_load_string(): Entity: line 19: parser error : Opening and ending tag mismatch: modules line 3 and config in /home/web/lib/Varien/Simplexml/Config.php on line 510
#0 [internal function]: mageCoreErrorHandler(2, 'simplexml_load_...', '/home/uriderdev...', 510, Array)
#1 /home/uriderdev/web/lib/Varien/Simplexml/Config.php(510): simplexml_load_string('loadString('loadFile('/home/uriderdev...')
#4 /home/uriderdev/web/app/code/core/Mage/Core/Model/Config.php(318): Mage_Core_Model_Config->loadModulesConfiguration(Array, Object(Mage_Core_Model_Config))
#5 /home/uriderdev/web/app/code/local/Mage/Core/Model/App.php(406): Mage_Core_Model_Config->loadModules()
#6 /home/uriderdev/web/app/code/local/Mage/Core/Model/App.php(334): Mage_Core_Model_App->_initModules()
#7 /home/uriderdev/web/app/Mage.php(640): Mage_Core_Model_App->run(Array)
#8 /home/uriderdev/web/index.php(92): Mage::run('', 'store')
#9 {main}
我明显做错了什么吗?
编辑:这是我的 config.xml 文件:
<?xml version="1.0" encoding="utf-8"?>
<config>
<modules>
<module>
<version>0.0.1</version>
</module>
<global>
<helpers>
<module>
<class>Namespace_Module_Helper</class>
</module>
</helpers>
<blocks>
<module>
<class>Namespace_Module_Block</class>
</module>
</blocks>
</global>
</config>
【问题讨论】:
-
非格式良好的 XML 是我的猜测。
app/code中的find -type f -name '*.xml' -exec xmllint --noout {} \;可能会有所帮助。 -
感谢回复,具体是做什么用的?
-
simplexml_load_string堆栈跟踪不会告诉您,哪个*.xml文件失败并切断错误输出。xmllint行检查是否所有找到的*.xml文件格式正确,如果不是,则输出文件名和找到的错误。 -
您显示的
config.xml错过了结束</modules>标记,顺便说一句。
标签: php magento csv xml-parsing google-drive-api