2016-04-08 6 views
0

Aşağıdaki kullanım durumuyla ilgili bir sorunum var: Bir denetleyici div'ım içinde iki bağlantı içeren bir twig şablonunda bir denetleyici oluşturuyorum. Sayfamın ortasında başka bir denetleyicinin sonucunu oluşturmak istediğim bir div var. Kontrolörlerin hangi parçalara ayırması gerektiğine karar vermek, menü bağlantılarına yapılan tıklamaya kadardır. Ne demek istediğimi, aşağıdaki kod açıkça ortaya koyuyor umut:Başka bir denetleyicinin div dosyasında Twig rendering Controller

{% 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 %} 

başka kontrolörleri dal bloğunda bir denetleyici vermektedir embed etiketinin biliyorum ama çalışma zamanı hangi kontrolör de dal nasıl söyleyeceğimi bilmiyorum işlenmelidir

cevap

0

Ajax isteği ile denetleyici oluşturmak mı istiyorsunuz? Ya da render ederken hangi denetleyiciye ihtiyacınız olduğunu biliyor musunuz? sonuncusu ise, if kullanabilirsiniz: ajax ile yüklemek isterseniz

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

, değil dal içinde, javascript bunu yapmak zorundadır.

+0

Tamam, bir ajax isteğini alamıyorum gibi görünüyor. Bilgi için teşekkürler. – Raistlin