0

Symfony 2.3 で Sonata Bundles ecommerce を設定しようとしています。

ここに記載されているインストール手順に従いましたが、app_dev.php を要求するページを読み込もうとするとエラーが発生します。

ここにエラーがあります

FatalErrorException: コンパイル エラー: Sonata\ProductBundle\Entity\BaseProduct::validateOneMainCategory() の宣言は、/xxx/ の Sonata\Component\Product\ProductInterface::validateOneMainCategory(Symfony\Component\Validator\Context\LegacyExecutionContext $context) と互換性がある必要がありますxx/xx/xxxx/vendor/sonata-project/ecommerce/src/ProductBundle/Entity/BaseProduct.php 行 28

誰でもこれを解決するのを手伝ってもらえますか?

4

2 に答える 2

0

Sonata 管理バンドルを使用する前にこのエラー メッセージが表示されます。ファイルの先頭にある uses ステートメントに注意する必要があると思います。適切な use ステートメントを追加する必要があります。ProductInterface を確認すると、使用する適切なファイルが見つかります。 .

于 2015-01-27T10:33:36.657 に答える
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');
        }
    }
于 2015-01-27T10:37:43.577 に答える