magento 2如何在di.xml上向数组添加新值

时间:2016-01-06 14:33:40

标签: xml magento-2.0

您好!
常规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数组中添加一个元素?

1 个答案:

答案 0 :(得分:2)

您的错误可能在di.xml的范围内

它可以有三个范围:

true

确保要覆盖的di.xml和di.xml具有相同的范围。

在您的情况下,您可以将di.xml放在前端范围,magento更喜欢使用合并它的di.xml。