SymfonyでSonata管理者のバンドルを正しく動作させることができない
-
28-10-2019 - |
質問
私はSymfony2を初めて使用しており、今ではSonata Admin Bundleをインストールしています。私は彼らのドキュメンタイオンを読んでいますが、それをインストールした後に何をすべきかは明確ではありません。
どうすれば始めるべきですか。そのバンドルの使用方法を学び始めることができる例はないということです。誰でもこれを手伝ってくれませんか
解決
このインストール命令に従ってください: http://sonata-project.org/bundles/admin/master/doc/reference/installation.html次に、バンドルの既存のエンティティクラスを参照する新しい管理者クラスを作成する必要があります。 http://sonata-project.org/bundles/admin/master/doc/reference/getting-started.html
さらなるサポートが必要な場合は、もっと具体的な質問を追加してください、ありがとう!
- 編集:
どこでも宣言することができます。基本管理クラスを拡張する必要があり、「sonata.admin」でタグ付けされたサービスでなければならないことに注意してください。つまり:
namespace Acme\FooBundle\Admin;
use Sonata\AdminBundle\Admin\Admin;
class FooAdmin extends Admin
{
}
バンドルのservices.xmlでは、サービスの宣言を追加する必要があります。
<container xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
<services>
<service id="sonata.admin.foo" class="Acme\FooBundle\Admin\FooAdmin">
<tag name="sonata.admin" manager_type="orm" group="Foos" label="Foo"/>
<argument />
<argument>Acme\FooBundle\Entity\Foo</argument>
<argument>SonataAdminBundle:CRUD</argument>
</service>
</services>
</container>
クラスと宣言があるときはいつでも、セットアップが正しい場合は、Sonataの管理ダッシュボードに新しいリンクが表示されます(URL /adminにあるはずです)。
所属していません StackOverflow