2014-12-03 75 views
6

我有一个窗体树枝模板,我想要解析一个特定的字段帮助文本与原始过滤器(它包含html)。该场被称为在一个名为诊所Symfony 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] %}

由于您正在装饰行内的行重刑模板,而应用单独的表单模板,您需要指定多个模板

您还需要指定一个完全合格的路径名的行块如

{% block _agrihealth_ahpbundle_clinic_postcode_row %} 
+0

谢谢,这似乎是有道理的,但它似乎还没有恢复。已清除缓存 – jdog 2014-12-04 00:56:08

+0

也许您正在指定行的错误路径。查看生成的表单的来源以识别表单名称。 – 2014-12-04 02:51:26

+0

@jdog,大概还是值得离开截图的 – 2014-12-04 02:58:13