2017-07-04 52 views
0

我正在嘗試(未成功)重寫包的特定類。 我想覆蓋類是:如何覆蓋OroCrm中的包

奧羅\包\ MagentoBundle \實體\庫\ CustomerRepository

要做到這一點,我創建了捆綁

namespace Kiwee\Bundle\MnhBundle; 

use Symfony\Component\HttpKernel\Bundle\Bundle; 

class MnhMagentoBundle extends Bundle { 

    public function getParent() { 
     return 'OroMagentoBundle'; 
    } 
} 

而且我添加了捆綁.yml

bundles: 
    - Kiwee\Bundle\MnhBundle\MnhMagentoBundle 

到目前爲止,這麼好..捆綁被加載。 現在,我似乎找不到任何有關如何覆蓋上述類的工作示例。

我試圖創建一個文件,它與我想重寫的類相同的相對路徑,但它不起作用。

namespace Kiwee\Bundle\MnhBundle\Entity\Repository; 

use Oro\Bundle\MagentoBundle\Entity\Repository\CustomerRepository as BaseCustomerRepository; 

class CustomerRepository extends BaseCustomerRepository 
{ 
    public function calculateLifetimeValue(Customer $customer) 
    { 
     // [... here is my custom logic for this method ...] 

    } 
} 

我遇到的第一個問題是「客戶」與原始類中的類型不同。 第二個是,即使通過聲明完整的類路徑來修復它,這個方法從來沒有在原始的時候被使用。 任何提示?

非常感謝你

+0

看看[在此](https://stackoverflow.com/questions/26623089/symfony2-how-to-override-a-specific-class-of-a- bundles) – DonCallisto

回答