captcha
freeCap CAPTCHA (sr_freecap)
zum Anzeigen von Captchas in eigenen Extensions
In der Extbase Extension muss das Model erweitert werden:
/**
* @var string
* @TYPO3\CMS\Extbase\Annotation\Validate(validator="SJBR\SrFreecap\Validation\Validator\CaptchaValidator")
*/
protected $captchaResponse;
/**
* Sets the captchaResponse
*
* @param string $captchaResponse
* @return void
*/
public function setCaptchaResponse($captchaResponse) {
$this->captchaResponse = $captchaResponse;
}
/**
* Getter for captchaResponse
*
* @return string
*/
public function getCaptchaResponse() {
return $this->captchaResponse;
}
Im Template dann einfügen:
<f:render partial="Training/CaptchaElement" />
Im Training/CaptchaElement
{namespace freeCap=SJBR\SrFreecap\ViewHelpers}
<p class="small margin-top">
{freeCap:translate(key: 'notice')} {freeCap:translate(key: 'explain')}
</p>
<f:form.textfield id="sjbr-freecap-captcha-response" property="captchaResponse" size="15" title="{freeCap:translate(key: 'notice')}{freeCap:translate(key: 'explain')}" />
<span class="small captcha">
<freeCap:image />
<freeCap:audio />
</span>
Anpassung der Fehlermeldung in der locallang.xlf der Extension
<trans-unit id="9221561048" resname="9221561048">
<source>Bitte übertragen Sie den korrekten Captcha Code.</source>
</trans-unit>
Styling - ich zeiuge gerne links eine Linine an bei Fehlern
.captcha + input, #sjbr-freecap-captcha-response {
border: solid 3px #cbcbca;
}
Form Captcha (bw_captcha)
Zur Verwendung eines Catchas im Forms Modul ist diese Extension geeignet. Das Typoskript Template inkludieren und in der Forms Konfiguration das Element Captcha hinzufügen. Oder manuell mit:
renderables:
-
type: Captcha
identifier: captcha
label: Captcha
properties:
fluidAdditionalAttributes:
required: required
Alle Infos sind hier zu finden https://github.com/maikschneider/bw_captcha