3

SonataAdminBundleドキュメントのいくつかの例から、次の情報を再グループ化しました。エラーが発生した場合は修正してください。ただし、BlogBundle:の場合は次のようになります。

フロントエンドファイルとバックエンドファイルが同じバンドルに混在している

ご覧のとおり、一般に、各バンドルにはfrontendbackendクラスの両方が含まれています。

frontend両方をbackend同じフォルダに混在させるのは非常に面倒な場合がありますが(コントローラを参照)、正直なところ、他の方法は考えられません...

私は実際に別のバンドルでバックエンドを処理し始めましたが、それも面倒であることに気づきました。

それで、実際には、人々は本当にこのアーキテクチャに従うのでしょうか?これは、SonataAdminBundleを使用するときにバックエンドを処理する唯一の/最良の方法ですか?

ここでのこの美しい投稿は、別のアプローチを使用しています...コードが乱雑にならないようにするために私が何をすべきかについてのアイデア。

4

1 に答える 1

2

シンプル: 混合コンテンツの場所内のフォルダーを使用します。フロントエンド コンポーネントをそれぞれのフォルダーに直接配置し、バックエンド ファイル用の管理フォルダーを追加します。

たとえば、次のように Admin サブフォルダー内のコントローラーを参照できますBlogBundle:Admin\Concert:index。基本的にはテンプレートと同じように機能します。

設定時にconfig-frontend.ymlとファイルを作成しconfig-backend.yml、それを元のファイルに含めることがconfig.ymlできます。私はそれをしません。

于 2013-01-22T21:05:20.740 に答える