2015-01-06 1 views
0

나는 인터넷 검색을하고 있었지만 폼을 렌더링 할 때 폼 필드 (Symfony)가 백분율 필드 유형에 추가하는 백분율 기호를 제거하는 방법을 찾지 못했습니다. 퍼센트 위젯을 재정의하는 것과 관련이있는 것으로 판명되었지만, 어떻게 작동하는지, 어디서 변경해야하는지 알 수는 없습니다. 백분율 필드 유형에서 백분율 기호 제거하기

내가 볼 것입니다 :

{% block percent_widget %} 
    {% spaceless %} 
     {% set type = type|default('text') %} 
     {{ block('form_widget_simple') }} 
    {% endspaceless %} 
{% endblock percent_widget %} 

템플릿을 내 현재의 렌더링 코드는 다음과 같습니다

당신은이 같은 뭔가 기본 레이아웃에서 percent_widget 블록을 덮어 쓸 수 있습니다 :

<div class="form-group"> 
    {{ form_label(edit_form.discountRate, 'Discount', {'label_attr':{'class':'col-sm-2 control-label'}}) }} 
    <div class="col-sm-10"> 
     <div class="input-group"> 
      {{ form_widget(edit_form.discountRate, {'attr': {'class':'form-control'}}) }} 
      <div class="input-group-addon">%</div> 
     </div>     
    </div>   
</div> 

PD : boootstrap 3의 input-group 클래스를 사용하여, 백분율 기호에 렌더링 방법을 추가했지만 Symfony를 추가하는 방법은 어떻게 삭제합니까?

+0

양식의 html 출력을 표시 할 수 있습니까?내 이해에서 ** % ** ** 필드 유형을 렌더링하는 필드 유형, 아마도 귀하의 브라우저 % 기호를 추가? –

답변

0

을, 편집 :

템플릿이 이런 식으로 끝날 것

twig: 
    debug:   "%kernel.debug%" 
    strict_variables: "%kernel.debug%" 
    form: 
     resources: 
     - YourBundleName:Form:my-form-theme.html.twig 

(중요 그것 form.resources 부분) : 나뭇 가지의 구성은 다음과 같이 뭔가를합니다. 이 설정은 Symfony 2에게 사용자 정의 테마를 사용하도록 지시합니다.

구성 파일에 무언가를 추가하고 싶지 않은 경우 템플릿에 {% form_theme form 'YourBundleName:Form:my-form-theme.html.twig' %}을 사용할 수도 있지만이 양식을 모든 양식에 추가하지 않으므로 전체 구성에 추가하는 것을 선호합니다.

이제 당신은 다음과 같은 내용으로 파일 src/YourBundlePath/Resources/views/Form/my-form-theme.html.twig을 만들 수 있습니다

{% extends 'form_div_layout.html.twig' %} 

{% block percent_widget -%} 
    {% set type = type|default('text') %} 
    {{- block('form_widget_simple') -}} 
{%- endblock percent_widget %} 

그리고이 작동합니다.

{% block percent_widget -%} 
    {% set type = type|default('text') %} 
    {{- block('form_widget_simple') -}} % 
{%- endblock percent_widget %} 

내가 재정에서 3d 줄에 "%"를 제거 : 당신은 심포니 2 ( /vendor/symfony/symfony/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig)의 테마 파일을 열 경우

당신이 있음을 알 수있다.

감사합니다.

0

당신은 그것을 제거하지 못할, 심포니 폼 %의 문자의 단점 중의 하나가

{% block percent_widget -%} 
    {% set type = type|default('text') %} 
    {{- block('form_widget_simple') -}} % 
{%- endblock percent_widget %} 

당신은 당신은 %

+0

Ofc를 사용하면 테마 재정의 양식을 Symfony 2의 기본 기능으로 사용할 수 있습니다. –

0

제거됩니다 자신의 블록을 쓸 수있는 하드 코드 당신은 양식을 무시해야 테마 템플릿. 그것을 수행하는 several ways이 있습니다.

가장 빠른 것을 사용할 것입니다. 앱/설정/config.yml 파일을 열고, 2

먼저 심포니의 기본 양식 테마를 오버라이드 (override) 할 필요가

{% form_theme edit_form _self %} 

     {% block percent_widget %} 
      {% spaceless %} 
       {% set type = type|default('text') %} 
       {{ block('form_widget_simple') }} 
      {% endspaceless %} 
     {% endblock percent_widget %} 

<div class="form-group"> 
    {{ form_label(edit_form.discountRate, 'Discount', {'label_attr':{'class':'col-sm-2 control-label'}}) }} 
    <div class="col-sm-10"> 
     <div class="input-group"> 
      {{ form_widget(edit_form.discountRate, {'attr': {'class':'form-control'}}) }} 
      <div class="input-group-addon">%</div> 
     </div>     
    </div>   
</div>