【问题标题】:Sonata Bundle Issues [Product Bundle]奏鸣曲捆绑问题 [产品捆绑]
【发布时间】:2015-01-27 10:17:17
【问题描述】:

我正在尝试在 Symfony 2.3 上设置 Sonata Bundles Ecommerce。

我按照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行

谁能帮我解决这个问题?

【问题讨论】:

    标签: php symfony sonata


    【解决方案1】:

    我在使用奏鸣曲管理包之前收到此错误消息,我认为您应该注意文件顶部的使用语句。您需要添加适当的使用语句。查看 ProductInterface,您会找到正确的要使用的文件。

    【讨论】:

      【解决方案2】:

      我在 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');
              }
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-14
        • 2017-03-05
        • 2023-03-17
        • 1970-01-01
        • 2016-05-24
        • 2013-06-16
        相关资源
        最近更新 更多