Magento 2 Override by preference在我的自定义模块中不起作用

时间:2019-05-14 06:50:05

标签: magento2 magento-2.3

我正在尝试覆盖

<preference for="Magento\Customer\Model\CustomerRegistry" type="Mycustom\Mymodule\Model\CustomerRegistry" />

在etc / di.xml下。但是运行

之后
  

php bin / magento设置:升级

命令将获得“目录规则索引失败”错误消息。在system.log文件下,它将显示以下错误消息-

  

在创建对象时发生类型错误:   Magento \ Customer \ Model \ ResourceModel \ AddressRepository,

注意:我已经删除了生成的文件夹并运行所有必需的命令。而且,我的magento版本是2.3。

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,经过数小时的搜索,我发现某些类不能被覆盖。您可以在此处查看有关此问题的更多详细信息:

https://github.com/magento/magento2/issues/2674

我使用了magento“ around”插件,而不是<preference/>