我试图在Symfony 2.3上设置Sonata Bundles电子商务。
我按照提及here的安装步骤进行操作,但在尝试加载请求app_dev.php的页面时收到错误。
这是错误
FatalErrorException:编译错误:声明Sonata \ ProductBundle \ Entity \ BaseProduct :: validateOneMainCategory()必须与Sonata \ Component \ Product \ ProductInterface :: validateOneMainCategory(Symfony \ Component \ Validator \ Context \ LegacyExecutionContext $ context)兼容/xxx/xx/xx/xxxx/vendor/sonata-project/ecommerce/src/ProductBundle/Entity/BaseProduct.php第28行
任何人都可以帮我解决这个问题吗?
答案 0 :(得分:0)
我在使用sonata admin bundle之前收到此错误消息我认为你要注意文件顶部的uses语句。你需要添加相应的use语句。看看ProductInterface你会找到合适的要使用的文件。
答案 1 :(得分:0)
我在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');
}
}