我正在尝试重写上面的类(Magento\GroupedProduct\Model\Product\Type\Grouped)
下面是我的app/code/Test/CustomGrouped/etc/adminhtml/di.xml
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<preference for="Magento\GroupedProduct\Model\Product\Type\Grouped" type="Test\CustomGrouped\Model\Product\Type\Grouped"/>
</config>
下面是模型类app/code/Test/CustomGrouped/Model/Product/Type/Grouped.php
<?php
namespace Test\CustomGrouped\Model\Product\Type;
class Grouped extends \Magento\GroupedProduct\Model\Product\Type\Grouped
{
public function getAssociatedProducts($product)
{
// Do something
}
}
我通过代码进行调试,但它仍然转到核心类,而不是使用我被覆盖的类。我不想使用插件。我只想知道我在重写Magento\GroupedProduct\Model\Product\Type\Grouped
类时遗漏了什么
如有任何建议,我们将不胜感激。
附言:我已经检查了清除var文件夹中的缓存,生成等。但它并没有起作用。我使用的是Magneto EE 2.1
发布于 2016-08-25 11:33:45
在核心模块为我工作之后,修改文件app/code/Best/CustomGrouped/etc/module.xml
以加载我的自定义模块。
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/Module/etc/module.xsd">
<module name="Best_customGrouped" setup_version="0.0.1" active="true">
<sequence>
<module name="Magento_GroupedProduct"/>
</sequence>
</module>
</config>
这个问题是因为我的自定义模块的命名空间以字母'B‘开头,它在app/etc/config.xml
中列在Magento的GroupedProduct模块之前。因此,我使用上面的代码强制我的模块在Magento的模块之后加载。
https://stackoverflow.com/questions/39136006
复制相似问题