[英]Symfony 2 Form theming and JS
我有AFormType类和相应的树枝模板,该模板在some_controller_action.html.twig中进行了以下处理:
{% form_theme a_form with ['ABundle:Form:a-form.html.twig'] %}
{{ form(a_form) }}
我希望a-form.html.twig包含javascript,该javascript仅与表单有关,而与其他无关。 所以我在这里添加了以下内容:
{% block javascripts %}
<script type="text/javascript">
$(document).ready(function () {
...
}
{% endblock %}
some_controller_action.html.twig也有块javascript,其中包含document.load。
问题:模板引擎会忽略a_form.html.twig脚本,并且不包含在呈现的页面中。 控制器的html.twig JS已正确处理。
我该如何解决这个问题?
您看到的问题是因为Symfony树枝状表单扩展名可以处理主题文件中块的加载和渲染。 您不能在主题中添加除表单小部件以外的任何内容。
您可以尝试导入主题文件并将当前文件设置为主题。 但是您可能仍然需要调用block('javascripts')
{% form_theme a_form _self %}
{% use 'ABundle:Form:a-form.html.twig' %}
为表单控制器添加JavaScript的唯一其他方法是将其直接添加到小部件中的HTML。 Gregwar CaptchaBundle执行此操作。 这种方法的问题在于,每次呈现表单控制器时都会添加脚本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.