Я пытаюсь (безуспешно) переопределить определенный класс пакета. Класс, который я хотел бы переопределить:
Oro \ Bundle \ MagentoBundle \ Entity \ Repository \ CustomerRepository
Для этого я создал свой пакет
namespace Kiwee\Bundle\MnhBundle;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class MnhMagentoBundle extends Bundle {
public function getParent() {
return 'OroMagentoBundle';
}
}
И добавил bundles.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 ...]
}
}
Первая проблема, с которой я столкнулся, заключается в том, что «Клиент» не того же типа, что и в исходном классе. Во-вторых, этот метод, даже если он исправлен путем объявления полного пути к классу, никогда не используется, пока используется оригинал. Намек?
Большое тебе спасибо