您好!
常规app / etc / di.xml有一部分,我需要在reader数组中添加额外的值。
<virtualType name="bodyRenderPool" type="Magento\Framework\View\Layout\ReaderPool">
<arguments>
<argument name="readers" xsi:type="array">
<item name="container" xsi:type="string">Magento\Framework\View\Layout\Reader\Container</item>
<item name="block" xsi:type="string">Magento\Framework\View\Layout\Reader\Block</item>
<item name="move" xsi:type="string">Magento\Framework\View\Layout\Reader\Move</item>
<item name="uiComponent" xsi:type="string">Magento\Framework\View\Layout\Reader\UiComponent</item>
</argument>
</arguments>
</virtualType>
如果在我自己的模块的di.xml中指出
<virtualType name="bodyRenderPool" type="Magento\Framework\View\Layout\ReaderPool">
<arguments>
<argument name="readers" xsi:type="array">
<item name="customEl" xsi:type="string">Company\MyModule\View\Layout\Reader\Customel</item>
</argument>
</arguments>
</virtualType>
该数组被覆盖。
如何在reader数组中添加一个元素?
答案 0 :(得分:2)
您的错误可能在di.xml的范围内
它可以有三个范围:
true
确保要覆盖的di.xml和di.xml具有相同的范围。
在您的情况下,您可以将di.xml放在前端范围,magento更喜欢使用合并它的di.xml。