我正在使用 symfony 框架开发一个网站。现在我正在尝试将 recaptcha 集成到我的表单中,以便我使用这个EWZRecaptchaBundle。我几乎无法使用 1.* 版本(不是文档中提到的版本)安装它。我遵循了文档并从这里获取了密钥,并将其作为域:127.0.0.1,因为我在本地主机上。然后我formType.php
像这样更改了我的文件:
use EWZ\Bundle\RecaptchaBundle\Validator\Constraints as Recaptcha;
class ContactType extends AbstractType
{
/**
* @Recaptcha\True
*/
public $recaptcha;
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name')
->add('email')
->add('subject')
->add('message')
->add('recaptcha', 'ewz_recaptcha')
;
}
并像这样在我的树枝文件中添加了recaptcha:
{% form_theme form 'EWZRecaptchaBundle:Form:ewz_recaptcha_widget.html.twig' %}
{{ form_widget(form.recaptcha, { 'attr': {
'options' : {
'theme': 'light',
'type': 'image'
},
} })
}}
但是当我尝试显示我得到的页面时:The parameter "fr" must be defined.
查看我发现的错误的详细信息:
at appProdDebugProjectContainer ->getParameter ('fr')
in C:\wamp\www\fstn\vendor\excelwebzone\recaptcha-bundle\EWZ\Bundle\RecaptchaBundle\Form\Type\RecaptchaType.php at line 62 -
$this->publicKey = $container->getParameter('ewz_recaptcha.public_key');
$this->secure = $container->getParameter('ewz_recaptcha.secure');
$this->enabled = $container->getParameter('ewz_recaptcha.enabled');
$this->language = $container->getParameter($container->getParameter('ewz_recaptcha.locale_key'));
}
/**
它与我安装的 Recaptcha Bundle 的版本有关吗?我怎样才能解决这个问题?