6

とにかく、最終的な XML 構造を調べるには、すべての異なる XML ファイルを解析して結合した後に magento が思いつきますか?

  1. 私のような人にとっては、最初はマジェントのレイアウトが多すぎて、コード側ですべてをやろうとしていたと思います。
  2. 最終的な XML 構造からすぐに、使用できるさまざまなノードの名前を取得するのに役立つもう 1 つのこと。
  3. これに遭遇したことはありませんが、何が何をオーバーライドしているのかをよりよく理解できると思います。
4

4 に答える 4

8

app/etc/*.xml以下は、app/etc/modules/*.xml、 、および各 (アクティブな) モジュールのconfig.xmlファイルからマージされた構成を取得します。各構成ファイルが解析されているときにマージが発生するため、上書きされたものの兆候はありませんが、構成を取得する場合:

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

ただし、アプリケーションがこの情報をどのように利用するかについて質問しているようです。これは、アプリケーション設計の機能です。

また、「さまざまな XML ファイルのすべて」について言及しています。これらは 1 つの大規模なオブジェクト インスタンスに保持されていないことに注意してください。たとえば、レイアウト XML はレイアウト更新オブジェクトを使用してアクセスされ、特定のレンダリング スコープ (コントローラー アクションなど)に対して読み込まれて操作された後、意味Mage_Core_Model_Layout_Updateのある方法でアクセスできます。loadLayout()

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

はい - コマースバグ。他の便利な機能の全負荷と同様に、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 に答える