как проверить все доступные переменные, которые были переданы контроллером формы в шаблон ветки

как проверить существование всех переменных

Exp в контроллере возвращает это, чтобы перейти к шаблону ветки:

return $this->render('index/index.html.twig', [ 'department'=>$departments,'URILink'=>$URILink,'departmentDetail'=>$departmentDetails, 'contentCell'=>$this->mContentCell ]);

затем шаблон ветки может повторно использовать эту переменную, выполнив это

index.html.twig:

</div> {{ include ('department_list.html.twig',{'departments':department,'URILink':URILink}) }}</div>

для сравнения в умном шаблоне мы можем использовать это:

get_template_vars() — возвращает присвоенное значение(я) переменной

как это сделать по той же аналогии в шаблоне ветки? на случай, если я хочу убедиться, что все переменные были переданы правильно


person kristyan    schedule 06.08.2017    source источник


Ответы (3)



Вы можете включить подобный шаблон на http://symfony.com/doc/current/book/templating.html#Include-other-templates

{{ include('YourBundle:ControllerName:yourAction.html.twig', {'variableName': yourData}) }}

Или вот так на http://twig.sensiolabs.org/doc/tags/include.html

{% include 'template.html' with {'foo': 'bar'} %}

Если вы хотите проверить variable, используйте функцию в dev моде:

{{ dump(yourVariable) }}
person Imanali Mamadiev    schedule 06.08.2017
comment
да, это альтернативный синтаксис для передачи переменной, но мой вопрос заключается в том, как проверить все переданные переменные, если у контроллера есть много переменных, поэтому я не пропущу ни одну из них. - person kristyan; 06.08.2017

Вместо проверки того, что каждая переменная существует, когда вы ее передаете, имхо, лучше использовать фильтр default в этом случае.

<div>
    {{ include ('department_list.html.twig',  'departments':department|default(null),'URILink':URILink|default(null) }}
</div
person DarkBee    schedule 07.08.2017