6

无论如何要检查 magento 在解析和组合所有不同的 XML 文件后提出的最终 XML 结构?

  1. 在互联网上搜索时并没有出现这种情况,我认为对于像我这样的人来说,magento 布局一开始有点太多了,我会尝试在代码方面做所有事情。
  2. 另一件事将有助于立即从最终的 XML 结构中获取我们可以使用的不同节点的名称。
  3. 从来没有遇到过这种情况,但我相信我们会更好地了解什么是压倒一切的。
4

4 回答 4

8

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

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

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

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

Mage::app()->getLayout()->getUpdate()->asString(); // or asSimplexml() or asArray()
于 2012-12-03T18:28:32.417 回答
2

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

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

于 2012-12-03T16:42:44.900 回答
1

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

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

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

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

Mage::app();

echo Mage::getConfig()->getXmlString();
于 2012-12-03T18:22:34.493 回答
0

根据我所做的基准的回答

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();
于 2015-10-27T20:42:34.323 回答