Symfony 2 Gregwar captcha_code不存在异常



我想将Gregwar Bundle(captcha)添加到我的项目中。我完成了这里显示的所有步骤https://github.com/Gregwar/CaptchaBundle/blob/master/README.md

但是,它抛出了"变量"captcha_code"不存在"的异常。表单主题部分有问题吗?

使用标签形式主题

示例:

index.html.twig-表单模板,captcha.html.twig-您的captcha 模板

index.html.twig内容:

{% form_theme form 'YourBundle::captcha.html.twig' %}     
<form action="" method="post">
...
{{ form_widget(form.captcha) }}
...
</form>

captcha.html.twig内容:

{% block captcha_widget %}
{% spaceless %}
<img src="{{ captcha_code }}" alt="" title="captcha" width="{{ captcha_width }}" height="{{ captcha_height }}" />
...
{{ form_widget(form, {'attr': { 'autocapitalize': 'off','autocorrect': 'off' }}) }}
...
{% endspaceless %}
{% endblock %}

块captcha_widget必须在任何其他块之外,例如:

{% block captcha_widget %}
{% set label = label|default('')|trim %}
{% if is_human %}
    -
{% else %}
    {% spaceless %}
        <div class="image">
            <img id="{{ image_id }}" src="{{ captcha_code }}" alt="" title="captcha" width="{{ captcha_width }}" height="{{ captcha_height }}" />
            {% if reload %}
                <script type="text/javascript">
                    function reload_{{ image_id }}() {
                        var img = document.getElementById('{{ image_id }}');
                        img.src = '{{ captcha_code }}?n=' + (new Date()).getTime();
                    }
                </script>
                <a class="captcha_reload" onclick="reload_{{ image_id }}(); return false;" href="#">{{ 'Renew'|trans({}, 'gregwar_captcha') }}</a>
            {% endif %}
        </div>
        <div class="">{{ label }}{{ label ? '* :': ''}}{{ form_widget(form) }}</div>
    {% endspaceless %}
{% endif %}

{%endblock captcha_widget%}

{%form_theme form2_self%}

{%块内容%}。。。{%endblock%}

相关内容

最新更新