Ветка Symfony переопределяет определенную строку формы


У меня есть шаблон ветки формы, в котором я хочу проанализировать текст справки по определенным полям с помощью фильтра raw (он содержит html). Поле называется почтовый индекс в форме под названием Клиника

Согласно здесь http://symfony.com/doc/current/cookbook/form/form_customization.html#how-to-customize-an-individual-field

Шаблон формы:

{% extends 'AgriHealthAhpBundle::admin.html.twig' %}
{% form_theme form 'AgriHealthAhpBundle:Form:fields.html.twig' %}

{% block _clinic_postcode_row %}
        <div class="row">
            test<div class="small-12 medium-3 columns label">{{ form_label(form) }}</div>
            <div class="small-12 medium-6 columns widget">
                {{ form_widget(form) }}
                <div class="error">
                    {{ form_errors(form) }}
                </div>
            </div>
            <div class="small-12 medium-3 columns help">
                {% if help is defined %}
                    {{ help|raw }}
                {% endif %}
            </div>
        </div>
{% endblock %}

{% block admin -%}
    <h1>New Clinic</h1>

    {{ form(form) }}

    <div class="row form_actions">
        <div class="small-12 medium-offset-3 medium-2 columns submit">
            <button type="submit" id="agrihealth_ahpbundle_clinic_submit_visible" name="agrihealth_ahpbundle_clinic[submit]">Create</button>
        </div>
        <script type="text/javascript">
            jQuery(document).ready(function() {
                jQuery('#agrihealth_ahpbundle_clinic_submit_visible').click(function(){
                    jQuery('form[name="agrihealth_ahpbundle_clinic"]').submit();
                });
            });
        </script>
        <div class="small-12 medium-2 columns cancel">
            <a href="{{ path('clinic') }}">
                Cancel
            </a>
        </div>
        <div class="small-12 medium-2 end columns cancel">
            <a href="{{ path('clinic') }}">
                Back to List
            </a>
        </div>
    </div>
{% endblock %}

ahpbundle/Ресурсы/представления/Форма/поля.html.ветка

{% block form_row %}
    {% spaceless %}
    <div class="row">
        <div class="small-12 medium-3 columns label">{{ form_label(form) }}</div>
        <div class="small-12 medium-6 columns widget">
            {{ form_widget(form) }}
            <div class="error">
                {{ form_errors(form) }}
            </div>
        </div>
        <div class="small-12 medium-3 columns help">
            {% if help is defined %}
                {{ help }}
            {% endif %}
        </div>
    </div>
    {% endspaceless %}
{% endblock form_row %}

Любой может увидеть то, что я упустил из виду, я пытался

{% block _clinic_postcode_row %}

И

{% block _Clinic_postcode_row %}

Решение

Согласно принятому ответу, блок строк формы должен быть полностью идеализирован сокращенным именем пакета. Самый простой способ - просмотреть исходный код формы и определить текст, используемый в каждом поле ввода, и имя формы="":

enter image description here

Author: jdog, 2014-12-04

1 answers

Заменить

{% form_theme form 'AgriHealthAhpBundle:Form:fields.html.twig' %}

С

{% form_theme form with ['AgriHealthAhpBundle:Form:fields.html.twig', _self] %}

Поскольку вы оформляете строку внутри шаблона действия, при применении отдельного шаблона формы вам необходимо указать несколько шаблонов

Вам также необходимо указать полное имя пути к вашему блоку строк, например

{% block _agrihealth_ahpbundle_clinic_postcode_row %}
 5
Author: b.b3rn4rd, 2014-12-04 03:01:32