3

我正在覆盖 SensioGeneratorBundle 的骨架模板,如下所述:

http://symfony.com/doc/current/bundles/SensioGeneratorBundle/index.html#overriding-skeleton-templates

所以直到这里一切都很好。

在 SensioGeneratorBundle 的一个模板中,我有:

# app/resources/SensioGeneratorBundle/skeleton/crud/views/new.html.twig.twig
{% block body %}

{{ "{% block page_title 'Incluir " ~ entity ~ "'%}" }}

{{ "{% block body -%}" }}

    {{ '{{ form(form) }}' }}

    {% set hide_edit, hide_delete = true, true %}
    {% include 'crud/views/others/record_actions.html.twig.twig' %}
{{ "{% endblock %}" }}
{% endblock body %}

这可行,但 {{ form(form) }} 正在呈现提交按钮,我想在 record_actions.html.twig.twig 中呈现提交按钮。

所以我的问题是:如何在不呈现提交按钮的情况下呈现表单?记住我正在尝试在骨架模板中执行此操作,此时我没有表单的字段来迭代它。

谢谢!

4

1 回答 1

1

此问题的解决方案如下:

# app/resources/SensioGeneratorBundle/skeleton/crud/views/new.html.twig
{% block body %}

{{ "{% block page_title 'Incluir " ~ entity ~ "'%}" }}

{{ "{% block body -%}" }}
{{ "    {{ form_start(child) }}" }}
{{ "    {% for child in form %}" }}
{{ "        {% if child.vars.name != 'submit' %}" }}
{{ "            {{ form_row(child) }}" }}
{{ "        {% endif %}" }}
{{ "    {% endfor %}" }}

{% set hide_edit, hide_delete = true, true %}
{% include 'crud/views/others/record_actions.html.twig.twig' %}

{{ "{% endblock %}" }}
{% endblock body %}

而里面record_actions.html.twig.twig

# app/resources/SensioGeneratorBundle/skeleton/crud/views/record_actions.html.twig
{{ "        {{ form_row(form.submit) }}" }}
{{ "    {{ form_end(form) }}" }}
<ul class="record_actions">
    <li>
        <a href="{{ "{{ path('" ~ route_name_prefix ~ "') }}" }}">
            Back to the list
        </a>
    </li>
{% if ('edit' in actions) and (not hide_edit) %}
    <li>
        <a href="{{ "{{ path('" ~ route_name_prefix ~ "_edit', { 'id': entity.id }) }}" }}">
            Edit
        </a>
    </li>
{% endif %}
{% if ('delete' in actions) and (not hide_delete) %}
    <li>
        <form action="{{ "{{ path('" ~ route_name_prefix ~ "_delete', { 'id': entity.id }) }}" }}" method="post">
            <input type="hidden" name="_method" value="DELETE" />
            {{ '{{ form_widget(delete_form) }}' }}
            <button type="submit">Delete</button>
        </form>
    </li>
{% endif %}
</ul>
于 2014-07-08T03:58:31.773 回答