繁体   English   中英

Symfony 2 Form主题和JS

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM