我试图覆盖上面的类(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
任何建议都将不胜感激。
P.S。 :我已经检查过清除var文件夹中的缓存,生成等。但它没有奏效。我使用的是Magneto EE 2.1
答案 0 :(得分:1)
修改文件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>
问题是我的自定义模块的命名空间以字母&#39; B&#39;开头。它被列在app/etc/config.xml
中Magento的GroupedProduct模块之前。因此,我使用上面的代码强制我的模块加载到Magento之后。