В настоящее время я занимаюсь разработкой веб-приложения с использованием Symfony и его механизма шаблонов Twig.
Поскольку я пытался реализовать некоторые формы, я получил шаблон, использующий другой повторно используемый и настраиваемый шаблон.
Вот несколько упрощенный код моего шаблона формы:
{% block global %}
<div class="modal fade" id="{{ modal_id }}" role="dialog">
<div class="modal-dialog">
<form id="{{ form_id }}" method="post" action="{{ form_action }}" class="form_ajout_groupe">
<!-- Form/Modal content ... -->
</form>
</div>
</div>
<script type="text/javascript">
var {{ namespace }} = {
var1 : [],
var2 : [],
}
$("#{{ form_id }} input[name='...']").val(...);
</script>
{% endblock %}
А вот как это включено:
{% use '@Bundle/modalForm.html.twig' with global as modalForm_global %}
{% set form_id = "formAjoutGroupe" %}
{% set modal_id = "modalAjoutGroupe" %}
{% set namespace = "addForm" %}
{{ block('addGroup_global') }}
Что меня беспокоит, так это то, что, хотя я смог разработать хорошо функционирующую страницу с этой структурой, это похоже на «хакерский» способ использования Twig.
Я хотел бы знать, есть ли лучшие способы создания настраиваемого шаблона.
Я также не уверен в том, как управлять моим JS с помощью Twig, так как в моем случае оказалось, что в каждом шаблоне есть собственный JS.
Каковы лучшие практики в этом вопросе?