0

数日前に SF2 で個人ブログを始めました。再利用性に注意してバックエンドをコーディングしています。

現時点では、 と の 2 つのバンドルがAdminBundleありArticleBundleます。ArticleBundle、などaddActionにいくつかのメソッドを記述しlistActionます。このモジュールには、独自のルート (記事/追加、記事/編集) が定義されています。routing.yml

AdminBundle の一部 (例: admin/article/add) にいるときは、次の場所でこれを行いますAdminController

public function addAction() {
    return $this->render('AdminBundle:Admin:add_article.html.twig');
}

そして私の中でadd_article.html.twig

{% block admin_content %}        // Inheritance of admin view
{% render url('article_add') %}  // article_add = article/add = route in ArticleBundle
{% endblock %}

この部分はうまく機能しますが、レンダリングがすべてによって管理されArticleBundle、ルーティングがうまくいかなくなった後 (例: フォーム送信ルーティングが「admin/article/add」ではなく「article/add」になった後)。

したがって、再利用可能でなければならないことを念頭に置いて、この2つのバンドルを統合する方法がわかりませんArticleBundle

どうも

4

1 に答える 1

1

ArticleBundle 内でアクションをサービスとして設定し、管理者または他のバンドル内から (たとえば)

$form = $this->get('kero_zen.article_bundle.add_action.form');
$formHandler = $this->get('kero_zen.article_bundle.add_action.handler');

FOSUserBundle のコントローラーに似ています。

于 2013-01-09T09:27:38.637 に答える