500pts Bounty에 대한 MageStackDay 보너스 질문 및 1 년간 무료 Z-Ray 라이센스 획득 가능성. 자세한 내용은 여기를 참조하십시오 >> 여기 <<
질문은 Magento 2의 핵심 개발자 인 Anton Kril이 제공하고 영감을 얻었습니다.
의문:
별도의 구성 집합을 가진 확장을 만들고 있습니다.
이 방법은 내가 사용할 수 없습니다 config.xml
또는 routes.xml
또는 fieldset.xml
또는이 젠토 다른 구성 xml 파일.
예.
행에 열이있는 '테이블'구성을 정의한다고 가정 해 봅시다. 아래에서이 XML을 사용할 수 있습니다. (전화 table.xml
)
<table xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="path/to/table.xsd">
<row id="row1">
<column id="col1" sort="10" attr1="val1">
<label>Col 1</label>
</column>
</row>
<row id="row2">
<column id="col1" sort="10" attr1="val1">
<label>Col 1</label>
</column>
<column id="col2" sort="20" disabled="true" attr1="val2" >
<label>Col 2</label>
</column>
<column id="col3" sort="15" attr1="val1">
<label>Col 3</label>
</column>
</row>
</table>
그러나 다른 확장자가 포함되어 있으면 table.xml
구성 판독기가 선택하고 2 개 이상의 xml 파일을 병합해야합니다. 두 번째 파일이 다음과 같은 경우
<table xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="path/to/table.xsd">
<row id="row1">
<column id="col2" sort="10" attr1="val2">
<label>Col 2</label>
</column>
</row>
<row id="row2">
<column id="col1" sort="10" attr1="val5" />
</row>
</table>
결과는 두 번째 열이 첫 번째 행에 추가되고에 대한 값 attr1
이 두 번째 xml로 겹쳐 써집니다.
<table ....>
<row id="row1">
<column id="col1" sort="10" attr1="val1"> <!-- from first xml -->
<label>Col 1</label>
</column>
<column id="col2" sort="10" attr1="val2"><!-- from second xml-->
<label>Col 2</label>
</column>
</row>
<row id="row2">
<column id="col1" sort="10" attr1="val5"><!--they apear in both xmls with the same path and id and second one overrides the value for `attr1`-->
<label>Col 1</label>
</column>
<column id="col2" sort="20" disabled="true" attr1="val2"><!-- from first xml -->
<label>Col 2</label>
</column>
<column id="col3" sort="15" attr1="val1"><!-- from first xml -->
<label>Col 3</label>
</column>
</row>
</table>
Magento 1에서는 전화를 걸어서 이것을 할 수있었습니다.
$merged = Mage::getConfig()->loadModulesConfiguration('table.xml')
->applyExtends();
Magento 2에 대해 동일한 작업을 수행하려면 어떻게해야합니까?
Dom
클래스 예제 .Reader
수업을 활용하여 답변을 시작했습니다 . 년 동안 나는 질문 페이지를 새로 고침하고 해당 :-) +1했다 실현