2012-12-03 3 views
5

어쨌든 magento는 &의 모든 다른 XML 파일을 구문 분석 한 후 최종 XML 구조를 검사합니까?Magento의 최종 XML 구조 검사

  1. 이 인터넷에서 검색에 켜져 그런 종류의 아무것도없는 내가 나 같은 사람을 생각 젠토 레이아웃 내가 코드 측에서 모든 일을하려고 할 것입니다 시작 &에서 조금 너무 많이이었다.
  2. 우리가 사용할 수있는 다른 노드의 이름을 픽업하는 데 도움이되는 또 다른 사항은 바로 최종 XML 구조입니다.
  3. 이 문제에 결코 부딪치지 않았지만 무엇이 무엇을 무시하고 있는지 더 잘 알 수있을 것입니다.
+0

본 적이 없습니다. 나는 올바른 방향으로 당신을 고정시킬 수있는 많은 컨트롤러를 자유롭게 사용할 수 있지만, Magento는 너무 구획화되어 있으므로 "쉬운"해결책이 없다고 생각합니다. – Zak

+0

나는이 질문을 무한정하고 아무런 노력도 보이지 않기 때문에이 질문을 downvoted했다. 나는 이것이 잠재적으로 흥미로운 주제라고 생각한다. – clockworkgeek

+0

@clockworkgeek 좋은 질문으로 간주되지 않는 것을 downvote해야하지 않습니까? 그리고 이것이 재미 있다면, 왜 그것을 downvote? 나는 그런 일을하는 마젠타 모조가 없지만 확실히 배우는 데 도움이 될 것입니다. 동의하지 않으면 다운 다운을 유지하십시오. – Ashfame

답변

2

예 - Commercebug. 다른 유용한 기능뿐만 아니라 Magento가 제작 한 전체 XML 구조를 볼 수도 있습니다.

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

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

Mage::app(); 

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

좋아요! v1에 있었나요? 나는 사본이 있다고 생각한다. – Ashfame

+0

예, v1에 있습니다 (그게 내가 가진 것입니다). 전체 XML 구조를 보여주는 레이아웃 탭이 있습니다. – McNab

+1

또한 레이아웃 병합을 표시하는 것은 Alan Storm이 magentocommerce.com 웹 사이트에 제출 한 첫 번째 모듈 데모 중 하나였습니다. 그것은 매우 귀중 해졌으며 상거래 버그를 구매하는 기초가되었습니다. –

1

나는 다음과 같은 출력됩니다에게 XML을 믿는다 , app/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() 
+0

이 방법은 어디에 정의되어 있습니까? – benmarks

+0

@benmarks : Varien_Simplexml_Config, 그리고 본질적으로 당신이 언급 한 코드를 호출하기 때문에 기본적으로 간단합니다. – jmspldnl

0

을 답변에 따라 benmarks에서 난 당신이 브라우저에서에, 파일에 넣고 사이트의 루트에있는 파일을 배치하고 탐색 할 수 있습니다 젠토 1의 블록 구성을 볼 수있는 예를 들어 원하는 경우

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

을했다 :

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

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