Я пытаюсь установить Sonata Bundles Ecommerce на Symfony 2.3.
Я следовал инструкциям по установке Вот но я получаю сообщение об ошибке при попытке загрузить мою страницу с запросом app_dev.php.
Вот ошибка
FatalErrorException: ошибка компиляции: объявление Sonata \ ProductBundle \ Entity \ BaseProduct :: validateOneMainCategory () должно быть совместимо с Sonata \ Component \ Product \ ProductInterface :: validateOneMainCategory (Symfony \ Component \ Validator \ Context \ LegacyExecutionContext $ context) в / x xx / xx / xxxx / vendor / sonata-project / ecommerce / src / ProductBundle / Entity / BaseProduct.php строка 28
Может кто-нибудь помочь мне решить это?
Я получаю это сообщение об ошибке перед использованием sonata admin bundle. Я думаю, что вы должны обратить внимание на оператор использования в верхней части вашего файла. Вам нужно добавить соответствующий оператор использования. Посмотрите на ProductInterface, вы найдете нужный файл для использования. ,
У меня есть это в ProductInterface
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');
}
}