2017-01-17 12 views
0

したがって、私はいくつかの機能を追加したいので、すべての管理クラスが持っているので、AbstractAdminを上書きします。Symfony2 SonataAdminがオーバーライドされましたAbstractAdminはフィールドを理解しません

それは次のようになります。あなたは私のBaseAdminは、デフォルトのソナタAbstractAdminクラスを拡張して見ることができるように

<?php 

namespace AdminBundle\Admin; 

use Sonata\AdminBundle\Admin\AbstractAdmin; 

class BaseAdmin extends AbstractAdmin 
{ 

.... 

} 

。すべてが正常に動作し、私は次のように新しいBaseAdminを拡張する場合は、すべての私のクラスは、カスタム関数を持っている:class ProductAdmin extends BaseAdmin

しかし、私は1奇妙なことに気づいた...

私は、画像をアップロードするには「ファイル」タイプを使用するクラスを持っています。

BaseAdminで管理クラスを拡張した場合、フォームフィールド 'file'はテキストエリアになります(他のすべての単純なテキストフィールドも何らかの理由でtextareaに変換されます)。 AbstractAdminすべてが正常に動作します。

configsのどこかで新しい管理者クラスを指定する必要がありますか、ここで問題がありますか?

答えて

0

より多くのコードを表示する必要がありますが、これは、ProductAdminクラスのメソッドをオーバーライドしているため、これはすでに述べたとおりです。あなたのBaseAdminクラスで

あなたはAbstractAdminメソッドをオーバーライドして、あなたはparent::method()を呼び出すが、BaseAdminを拡張するクラスのメソッドをオーバーライドするときに、壮大な親メソッドではなく、親1を呼び出す必要があるとして、あなたはAbstractAdmin::method()代わりのparent::method()を呼び出す必要があります。

希望があれば

関連する問題