检查Magento的最终XML结构

时间:2012-12-03 16:28:42

标签: magento

无论如何要检查最终的XML结构magento在解析之后出现了&结合所有不同的XML文件?

  1. 没有任何类似的东西出现在互联网上搜索,我认为对于像我这样的人来说,magento布局在开始时有点太多了。我会尝试在代码方面做所有事情。
  2. 有助于从最终的XML结构中获取我们可以使用的不同节点的名称。
  3. 从未碰到这一点,但我相信我们会更好地了解什么是最重要的。

4 个答案:

答案 0 :(得分:7)

以下内容将为您提供app/etc/*.xmlapp/etc/modules/*.xml以及每个(活动)模块config.xml文件的合并配置。在检索配置时,虽然没有指示覆盖的内容,因为合并发生在每个配置文件被解析时:

Mage::getConfig()->getNode()->asNiceXml(); // or asXML() | asArray() | etc.

但是,您似乎在询问应用程序如何使用此信息。这是应用程序设计的一个功能。

另外,您提到“所有不同的XML文件”。值得注意的是,这些不是在一个大型对象实例中维护的。例如,使用布局更新对象Mage_Core_Model_Layout_Update访问布局XML,并且在为给定的渲染范围(例如,控制器中的loadLayout())加载和操作后,可以有意义地访问 动作):

Mage::app()->getLayout()->getUpdate()->asString(); // or asSimplexml() or asArray()

答案 1 :(得分:2)

是的 - Commercebug。除了一大堆其他有用的功能外,您还可以查看Magento生成的整个XML结构。

http://store.pulsestorm.net/products/commerce-bug-2

答案 2 :(得分:1)

我相信以下内容将输出XML:echo Mage::getConfig()->getXmlString();

您可以使用以下内容创建脚本:

header("Content-Type:text/xml");

require_once '../app/Mage.php';

Mage::app();

echo Mage::getConfig()->getXmlString();

答案 3 :(得分:0)

基于我做过的benmarks的回答

echo "<pre>".htmlspecialchars(Mage::getConfig()->getNode()->asNiceXml())."</pre>";

如果您想要查看Magento 1中的块配置,您可以将其放在一个文件中,将文件放在站点的根目录并在浏览器中导航到它:

<?php
include("app/Mage.php");
Mage::app(); 

//just see blocks...
echo "<pre>".htmlspecialchars(Mage::getConfig()->getNode()->global->blocks->asNiceXml())."</pre>";
die();