Php Magento showConfig模块不工作
我从向导开始学习magento。所以我用它们的名字创建了一个模块。但当我尝试时,它显示以下错误Php Magento showConfig模块不工作,php,xml,magento,Php,Xml,Magento,我从向导开始学习magento。所以我用它们的名字创建了一个模块。但当我尝试时,它显示以下错误 XML解析错误:XML或文本声明不在实体的开头 地点:http://works.dev/magento/?showConfig=true 第1行第2列: -^ (works.dev是我的本地主机域。magento路径工作正常。) 这是我的配置文件 app/code/local/Magentotutorial/Configviewer/etc/config.xml <?xml version="
XML解析错误:XML或文本声明不在实体的开头
地点:http://works.dev/magento/?showConfig=true
第1行第2列:
-^
(works.dev是我的本地主机域。magento路径工作正常。)
这是我的配置文件
app/code/local/Magentotutorial/Configviewer/etc/config.xml
<?xml version="1.0"?>
<config>
<modules>
<Magentotutorial_Configviewer>
<version>0.1.0</version>
</Magentotutorial_Configviewer>
</modules>
<global>
<events>
<controller_front_init_routers>
<observers>
<Magentotutorial_configviewer_model_observer>
<type>singleton</type>
<class>Magentotutorial_Configviewer_Model_Observer</class>
<method>checkForConfigRequest</method>
</Magentotutorial_configviewer_model_observer>
</observers>
</controller_front_init_routers>
</events>
</global>
</config>
<global>
<models>
<configviewer>
<class>Magentotutorial_Configviewer_Model</class>
</configviewer>
</models>
<events>
<controller_front_init_routers>
<observers>
<Magentotutorial_configviewer_model_observer>
<type>singleton</type>
<class>configviewer/observer</class>
<method>checkForConfigRequest</method>
</Magentotutorial_configviewer_model_observer>
</observers>
</controller_front_init_routers>
</events>
</global>
0.1.0
独生子女
Magentotutorial\u Configviewer\u Model\u Observer
checkForConfigRequest
app/etc/modules/Magentotutorial\u Configviewer.xml
<?xml version="1.0"?>
<config>
<modules>
<Magentotutorial_Configviewer>
<active>true</active>
<codePool>local</codePool>
</Magentotutorial_Configviewer>
</modules>
</config>
真的
地方的
app/code/local/Magentotutorial/Configviewer/Model/Observer.php
<?php
class Magentotutorial_Configviewer_Model_Observer {
const FLAG_SHOW_CONFIG = 'showConfig';
const FLAG_SHOW_CONFIG_FORMAT = 'showConfigFormat';
private $request;
public function checkForConfigRequest($observer) {
$this->request = $observer->getEvent()->getData('front')->getRequest();
if($this->request->{self::FLAG_SHOW_CONFIG} === 'true'){
$this->setHeader();
$this->outputConfig();
}
}
private function setHeader() {
$format = isset($this->request->{self::FLAG_SHOW_CONFIG_FORMAT}) ?
$this->request->{self::FLAG_SHOW_CONFIG_FORMAT} : 'xml';
switch($format){
case 'text':
header("Content-Type: text/plain");
break;
default:
header("Content-Type: text/xml");
}
}
private function outputConfig() {
die(Mage::app()->getConfig()->getNode()->asXML());
}
}
getConfig()->getNode()->asXML());
}
}
我清除了缓存并检查了日志。我无法从这些中发现问题 Ausuraya,你能更改config.xml吗
<?xml version="1.0"?>
<config>
<modules>
<Magentotutorial_Configviewer>
<version>0.1.0</version>
</Magentotutorial_Configviewer>
</modules>
<global>
<events>
<controller_front_init_routers>
<observers>
<Magentotutorial_configviewer_model_observer>
<type>singleton</type>
<class>Magentotutorial_Configviewer_Model_Observer</class>
<method>checkForConfigRequest</method>
</Magentotutorial_configviewer_model_observer>
</observers>
</controller_front_init_routers>
</events>
</global>
</config>
<global>
<models>
<configviewer>
<class>Magentotutorial_Configviewer_Model</class>
</configviewer>
</models>
<events>
<controller_front_init_routers>
<observers>
<Magentotutorial_configviewer_model_observer>
<type>singleton</type>
<class>configviewer/observer</class>
<method>checkForConfigRequest</method>
</Magentotutorial_configviewer_model_observer>
</observers>
</controller_front_init_routers>
</events>
</global>
Magentotutorial\u配置查看器\u模型
独生子女
configviewer/观察者
checkForConfigRequest
根据@Jürgen Thelen的说法,这是空间问题。在app/code/local/Magentotutorial/Configviewer/etc/config.xml中删除HI前的空格后,它就工作了。任何空格都不应该是它们的before xml标记。第1行第1列的字符一定有错误,由于错误消息指出在声明之前可能有很多空白。我搜索已经尝试删除前面的空白