2014-12-03 2 views
6

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

Согласно здесь 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/Ресурсы/просмотров/Форма/fields.html.twig

{% 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 %} 

Решение

В соответствии с принятым ответом, блок формы строки должны полностью idetified с сокращенным именем расслоения. Самый простой способ, чтобы просмотреть исходный код формы и определить текст, используемый в каждом поле ввода и имя = «»:

enter image description here

ответ

5

Заменить

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

с

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

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

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

{% block _agrihealth_ahpbundle_clinic_postcode_row %} 
+0

Спасибо, что, кажется, имеет смысл, но это похоже, не подобрал. Очистили кеш – jdog

+0

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

+0

@jdog, возможно, еще стоит оставить снимок экрана –

Смежные вопросы