我无法通过silverstripe-recaptcha使silverstripe-spamprotection和silverstripe-userforms在SS4上工作。
在我的app / _config / spamprotection.yml中:
SilverStripe\SpamProtection\Extension\FormSpamProtectionExtension:
default_spam_protector: SilverStripe\Recaptcha\RecaptchaProtector
在我的app / _config / recaptcha.yml中: 注意:尝试对api键使用带引号或不带引号。
SilverStripe\Recaptcha\RecaptchaField:
public_api_key: xxx
private_api_key: xxx
我有:
控制台中没有错误/警告。
有人工作吗? 可以看到我所缺少的吗?
答案 0 :(得分:2)
问题是另一个模块正在设置SilverStripe\SpamProtection\Extension\FormSpamProtectionExtension
,从而覆盖了我的app/_config/spamprotection.yml
文件中的设置。
一种解决方案是将spamprotection.yml
设置为在另一个模块的yml文件之后加载。为此,我们可以在yml文件顶部添加以下内容:
---
Name: app-spamprotection
After: '#galadriel'
---
SilverStripe\SpamProtection\Extension\FormSpamProtectionExtension:
default_spam_protector: SilverStripe\Recaptcha\RecaptchaProtector
在上面的示例中,galadriel
是另一个模块的yml文件中设置的Name
。