2014-12-03 15 views
6

Mam szablon twig formularza, w którym chcę przeanalizować konkretny tekst pomocy pól za pomocą filtru raw (zawiera on kod HTML). Pole jest zwany kod pocztowy w formie zwanej ClinicSymfony Twig nadpisuje określony wiersz formularza

Według tutaj http://symfony.com/doc/current/cookbook/form/form_customization.html#how-to-customize-an-individual-field

Formularz szablon:

{% 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/Resources/views/Forma/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 %} 

Każdy może zobaczyć, co przeoczyłem, próbowałem:

{% block _clinic_postcode_row %} 

i

{% block _Clinic_postcode_row %} 

Rozwiązanie

Zgodnie z przyjętą odpowiedzi, blok forma rząd musi w pełni idetified ze skróconą nazwą pakietu. Najprostszym sposobem jest zobaczyć kod źródłowy formularza i określić tekst używany w każdym polu wejściowym i postaci nazwa = „”:

enter image description here

Odpowiedz

5

Wymień

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

z

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

Ponieważ dekorujesz rząd wewnątrz cja szablon, przy zastosowaniu osobnego szablonu formularza trzeba określić wiele szablonów

Należy również podać pełną ścieżkę do swojego bloku wierszy takich jak

{% block _agrihealth_ahpbundle_clinic_postcode_row %} 
+0

Dzięki, że wydaje się mieć sens, ale nie wydaje się, że wciąż się podnosi. Czyszczenie pamięci podręcznej – jdog

+0

Prawdopodobnie określasz błędną ścieżkę do wiersza. Wyświetl źródło wygenerowanego formularza, aby zidentyfikować nazwę formularza. –

+0

@jdog, prawdopodobnie nadal warto opuścić zrzut ekranu –

Powiązane problemy