2016-04-08 7 views
0

私は次のユースケースに問題があります。私はそこに2つのリンクを持つナビゲーションdivを持つtwigテンプレートでコントローラをレンダリングします。私のページの真ん中には、別のコントローラの結果をレンダリングするdivがあります。コントローラの小枝がレンダリングすべき決定は、メニューリンクのクリックまでです。私は私が何を意味するか、次のコードは、明らかに願っています:別のコントローラのdiv内のTwigレンダリングコントローラ

{% extends 'base.html.twig' %} 
{% block scripts %} 
    {{ parent() }} 
    <script type="text/javascript"> 
    $(function() { 
     $("#menu").menu(); 
     }); 
    </script> 
    <style> 
     .ui-menu {margin-bottom: 10px !important;} 
    </style> 
{% endblock %} 
{% block stylesheets %} 
    {{ parent() }} 
    <link href="{{ asset('css/sstm_style.css') }}" rel="stylesheet" /> 
{% endblock %} 

{% block body %} 
{{ parent() }} 
<div id="module_title"><h1>Lizenznehmer-Stammdaten</h1></div> 
<nav> 
    <h5>Was möchten Sie tun?</h5> 
    <ul id="menu"> 
     <li><a href="#">Lizenznehmer anlegen</a></li> 
     <li><a href="#">Lizenznehmer bearbeiten</a></li> 
    </ul> 
</nav> 
<div id="main"> 
{# fill div with either CreateLicenseController or ChangeLicenseController #} 
</div> 
{% endblock %} 

私は別のコントローラ小枝のブロックにコントローラをレンダリングembedタグを知っているが、私は、実行時にどのコントローラを小枝を伝える方法がわかりませんレンダリングする必要があります

答えて

0

あなたはajaxリクエストでコントローラを生成することを意味していますか?レンダリング時に必要なコントローラーを知っていますか? 最後の1つが、あなたはifを使用することができます。

{% if needCreate %} 
{{ render(controller('YourBundle:YourController:CreateLicenseController') }} 
{% else %} 
{{ render(controller('YourBundle:YourController:ChangeController') }} 
{% endif %} 

あなたはAJAXでそれをロードしたい場合は、あなたがいない小枝で、JavaScriptでそれをしなければなりません。

+0

私はajaxリクエストを回避できないようです。情報ありがとうございました。 – Raistlin

関連する問題