2016-03-25 16 views
1

大家我試圖驗證碼添加到我的形式Gregwar/CaptchaBundle但我面臨一個probleme:變量「captcha_code」不存在Gregwar

變量「captcha_code」不存在時,我付出的這部分我的代碼:

=========================================== =============================

<div class="col-sm-8 col-sm-offset-2"> 
{% block captcha_widget %} 
{% spaceless %} 
<img src="{{ captcha_code }}" title="captcha" width="{{ captcha_width }}" height="{{ captcha_height }}" /> 
{{ form_row(form.captcha) }} 
    {% endspaceless %} 
{% endblock %} 
    </div> 

回答

1

可變form插件塊內已經包含驗證碼字段(不是誰樂形式),所以正確的方法是使用form_widget(form),而不是form_row(form.captcha)

{% block captcha_widget %} 
{% spaceless %} 
    <img src="{{ captcha_code }}" title="captcha" width="{{ captcha_width }}" height="{{ captcha_height }}" /> 
    {{ form_widget(form) }} 
{% endspaceless %} 
{% endblock %} 
0

謝謝你,但我想通了,它由myselfe最好的方式來解決我的問題是

配置驗證碼字段我表單生成

$builder->add('captcha', 'Gregwar\CaptchaBundle\Type\CaptchaType',array(
      'width' => 200, 
      'height' => 50, 
      'length' => 6, 
      'quality' => 90, 
      'distortion' => true, 
      'background_color' => [115, 194, 251], 
      'max_front_lines' => 0, 
      'max_behind_lines' => 0, 
      'attr' => array('class' => 'form-control', 
      'rows'=> "6" 
      ) 
     )); 

,並在我的樹枝模板只調用代碼這一小部分:

<div class="col-sm-8 col-sm-offset-2"> 
{% block captcha_widget %} 
    {% spaceless %} 
     {{ form_row(form.captcha) }} 
{% endspaceless %} 

{% endblock %} 
</div>