2017-03-01 10 views
-1

私はそのように、私のSonataUserBundle GroupAdminクラスを上書きしよう:オーバーライドGroupAdminクラス

parameters: 
    sonata.user.admin.group.class: Application\Sonata\UserBundle\Admin\Model\GroupAdmin 

しかし、私は自分のフォームを表示しようとすると:

namespace Application\Sonata\UserBundle\Admin\Model; 

use Sonata\AdminBundle\Datagrid\DatagridMapper; 
use Sonata\AdminBundle\Datagrid\ListMapper; 
use Sonata\AdminBundle\Form\FormMapper; 
use Sonata\UserBundle\Admin\Model\GroupAdmin as MyGroupAdmin; 

class GroupAdmin extends MyGroupAdmin 
{ 
... 
} 

そして、私のconfig.ymlファイルにパラメータを追加その例外があります: "Application \ Sonata \ UserBundle \ Admin \ Model"という名前空間から "GroupAdmin"クラスをロードしようとしました。 たとえば、「使用」ステートメントを忘れましたか? 「Sonata¥UserBundle¥Admin¥Document¥GroupAdmin」、「Sonata¥UserBundle¥Admin¥Entity¥GroupAdmin」、または「Sonata¥UserBundle¥Admin¥Model¥GroupAdmin」のいずれかです。

マイカーネル:

$bundles = array(
      new Symfony\Bundle\FrameworkBundle\FrameworkBundle(), 
      new Symfony\Bundle\SecurityBundle\SecurityBundle(), 
      new Symfony\Bundle\TwigBundle\TwigBundle(), 
      new Symfony\Bundle\MonologBundle\MonologBundle(), 
      new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(), 
      new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(), 
      new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(), 

      new Sonata\CoreBundle\SonataCoreBundle(), 
      new Sonata\BlockBundle\SonataBlockBundle(), 
      new Knp\Bundle\MenuBundle\KnpMenuBundle(), 

      new Sonata\DoctrineORMAdminBundle\SonataDoctrineORMAdminBundle(), 
      new Sonata\AdminBundle\SonataAdminBundle(), 
      new AppBundle\AppBundle(), 
      new Knp\Bundle\MarkdownBundle\KnpMarkdownBundle(), 
      new Ivory\CKEditorBundle\IvoryCKEditorBundle(), 
      new Sonata\FormatterBundle\SonataFormatterBundle(), 

      new Sonata\NewsBundle\SonataNewsBundle(), 
      new Sonata\MediaBundle\SonataMediaBundle(), 
      new Sonata\IntlBundle\SonataIntlBundle(), 
      new Sonata\ClassificationBundle\SonataClassificationBundle(), 
      new FOS\UserBundle\FOSUserBundle(), 
      new Sonata\UserBundle\SonataUserBundle('FOSUserBundle'), 
      new Sonata\EasyExtendsBundle\SonataEasyExtendsBundle(), 
      new JMS\SerializerBundle\JMSSerializerBundle(), 

      new Application\Sonata\NewsBundle\ApplicationSonataNewsBundle(), 
      new Application\Sonata\UserBundle\ApplicationSonataUserBundle(), 
      new Application\Sonata\MediaBundle\ApplicationSonataMediaBundle(), 
      new Application\Sonata\ClassificationBundle\ApplicationSonataClassificationBundle(), 
     ); 

これは、6時00分であると私は、エラーを見つけることができません。 Plz help

+0

の名前のタイプミスを持っています。 なぜ同じ名前空間でクラスを拡張しますか? – Mawcel

+0

私はSonata \ UserBundle \ Admin \ Model \ GroupAdminに1つのGroupAdminクラスを持ち、Application \ Sonata \ UserBundle \ Admin \ Model \ GroupAdminには別の名前空間を持っています...元のものを上書きするために使用する必要があります。 – Med

+0

私はそれが同じ名前空間だと思っていませんでした。 'Application'名前空間がautoloadに正しく登録されていますか?その名前空間に他のクラスがありますか? – Mawcel

答えて

0

これは間違いなくクラス宣言に問題はないか、エラーには「ファイルが見つかりましたがクラスは見つかりませんでした」というエラーが含まれています。

あなたが最も可能性の高い次の2つのソナタ\ UserBundle \管理\モデル\ GroupAdminクラスを持っているファイル

関連する問題