2016-08-25 5 views
0

я пытался переопределить указанный класс (Magento\GroupedProduct\Model\Product\Type\Grouped)Magento2 не может переопределить класс 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

ответ

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> 

Проблема был синусоидальным пространство имен Моего модуля начали с буквой «B» он числился до того модуля GroupedProduct в Magento в app/etc/config.xml. Поэтому я заставляю модуль загружаться после использования Magento, используя вышеприведенный код.