2015-01-27 3 views
0

Symfony 2.3에서 Sonata 번들 전자 상거래를 설정하려고합니다.Sonata Bundle Issues [제품 번들]

다음 설치 단계가 언급 된 here을 따라 갔지만 app_dev.php를 요청하는 페이지를로드 할 때 오류가 발생합니다. 여기

오류입니다

FatalErrorException: Compile Error: Declaration of Sonata\ProductBundle\Entity\BaseProduct::validateOneMainCategory() must be compatible with Sonata\Component\Product\ProductInterface::validateOneMainCategory(Symfony\Component\Validator\Context\LegacyExecutionContext $context) in /xxx/xx/xx/xxxx/vendor/sonata-project/ecommerce/src/ProductBundle/Entity/BaseProduct.php line 28

이 문제를 해결하기 위해

누군가가 나를 도울 수 있습니까?

답변

0

소나타 관리 번들을 사용하기 전에이 오류 메시지가 나타납니다. 파일 상단의 uses 문에주의를 기울여야한다고 생각합니다. 적절한 사용 문을 추가해야합니다. ProductInterface를 보면 알 수 있습니다. 사용할 올바른 파일.

0

나는

use Symfony\Component\Validator\Context\LegacyExecutionContext; 

/** 
    * Validates if product has one main category 
    * 
    * @param LegacyExecutionContext $context 
    * 
    * @return void 
    */ 
    public function validateOneMainCategory(LegacyExecutionContext $context); 

그리고 BaseProduct.php

use Symfony\Component\Validator\ExecutionContext; 

    /** 
    * {@inheritdoc} 
    */ 
    public function validateOneMainCategory(LegacyExecutionContext $context) 
    { 
     if ($this->getCategories()->count() == 0) { 
      return; 
     } 

     if (!$this->hasOneMainCategory()) { 
      $context->addViolation('sonata.product.must_have_one_main_category'); 
     } 
    } 
ProductInterface

이 있습니다