500pts Bounty için MageStackDay bonus sorusu VE bir yıl boyunca ücretsiz Z-Ray lisansı kazanma imkanı. Daha fazla bilgi bulunabilir >> burada <<
Sorular Magento 2 ana geliştiricisi Anton Kril tarafından sağlandı / ilham alındı.
Soru:
Ayrı bir yapılandırma kümesi olan bir uzantı oluşturuyorum.
Bu, magento'nun sahip olduğu config.xml
veya routes.xml
veya fieldset.xml
veya başka bir yapılandırma xml dosyasını kullanamayacağım anlamına gelir .
Örnek.
Diyelim ki, sütun satırları olan bir 'tablo' yapılandırması tanımlıyorum. Bu xml'i aşağıda kullanabilirim. (ara 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>
Ancak, başka bir uzantı içeriyorsa table.xml
, config okuyucu tarafından alınmasını istiyorum ve 2 veya daha fazla xml dosyası birleştirilmelidir. Yani ikinci dosya böyle gözüküyorsa
<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>
Sonuç, ikinci sütunun ilk satıra eklenmesi ve bunun değerinin attr1
ikinci xml tarafından yazılmasıdır:
<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’de bunu sadece arayarak yapabilirdim.
$merged = Mage::getConfig()->loadModulesConfiguration('table.xml')
->applyExtends();
Magento 2 için nasıl aynı şeyi yapabilirim?
Dom
sınıf örneği ile gördüm .Reader
Sınıf kullanarak cevap üzerinde çalışmaya başladım . Bu arada soru sayfasını yeniledik ve bunu yaptığınızı anladım :-) +1