Twig: головка блокирует управление с разных контроллеров - PullRequest
1 голос
/ 10 февраля 2012

Я использую Symfony 2.0.9. Код base.html.twig:

<html>
<head>
    <title>title</title>        
    {% block stylesheets %}
        <link href="{{ asset('css/main.css') }}" type="text/css" rel="stylesheet" />
    {% endblock %}        
    {% block javascript %}
    {% endblock %}
</head>
<body>
<div class="sidebar">{% block sidebar %}{% endblock %}</div>
<div class="content">{% block content %}{% endblock %}</div>            
</body>

My Bundle имеет собственный layout.html.twig, который расширяется контроллерами, например PostController.php с действием showAction.

Код макета.html.twig

{% extends '::base.html.twig' %}
{% block stylesheets %}
    {{ parent() }}
    ...something
{% endblock %}
{% block navigation %}
    ...list of menus
{% endblock %}
{% block sidebar %}
    {% render "DevMyBundle:Page:sidebar" %}
{% endblock %}   

Как получить доступ к блоку 'javascript' в base.html.twig из sidebar.html.twig, который визуализируется PageController следующим образом в layout.html.twig: {% render 'DevMyBundle: Page: sidebar "%} или Как я могу реорганизовать структуру моих шаблонов. Для чего ?: В боковой панели может быть больше блоков. Каждый блок вызывает свой JS. Как? Спасибо за продвижение.

Обновление: пожалуйста, ребята, помогите. Там должен быть простой ответ. Я прочитал документы на ветки, но я новичок в этом. Если я отправлю этот вопрос не правильно, спросите меня.

1 Ответ

0 голосов
/ 10 февраля 2012

Один из способов - переместить боковую панель javascrpt к собственному шаблону.Примерно так в layout.html.twig

{% block sidebar %}
    {% render "ZaysoArbiterBundle:Test1\\Main:sidebar" %}
{% endblock %} 

{% block javascript %}
    {{ parent() }}
    <script>Some layout javascript</script>
    {% render "ZaysoArbiterBundle:Test1\\Main:sidebarjs" %}
{% endblock javascript %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...