Contributte/reCaptcha – nenačte se, způsobuje error

MikKuba
Člen | 88
+
0
-

Ahoj,

Nainstaloval jsem balíček contributte/recaptcha a nastavil.
PHP 8.2, contributte/recaptcha verze 4.0.2

Podle dokumentace, mám do configu přidáno:

recaptcha:
	secretKey: 'xxxxx'
	siteKey: 'xxxx'

extensions:
# Recaptcha
	recaptcha: Contributte\ReCaptcha\DI\ReCaptchaExtension

nalinkoval jsem si JS:

        <script src="/js/jquery.js"></script>
        <script src="/js/bootstrap.min.js"></script>

        <script src="{$basePath}/js/netteForms.js"></script>
        <script src="{$basePath}/tinymce/tinymce.min.js"></script>
        <script src="{$basePath}/js/nette.ajax.js"></script>
        <script src="{$basePath}/js/naja.js"></script>
        <script src="https://www.google.com/recaptcha/api.js?render=explicit"></script>
        <script src="{$basePath}/js/invisibleRecaptcha.min.js"></script>
    </body>

a vložil do formuláře invisible recaptchu:

$form->addInvisibleReCaptcha('recaptcha', $required = true, $message = 'Jste opravdu člověk?')->setMinimalScore(0.8);

Když si načtu formulář (vypisuje se ve skrytém modal okně, ale to ničemu nevadí ne?) tak tam vidím vytvořený div jak má být:

<div class="g-recaptcha" name="recaptcha" value="" data-sitekey="xxx" data-size="invisible"></div>

Už po načtení stránky nevidím nikde na stránce po straně tu ikonu recaptchy, ale jelikož se vytvořil div tak zkouším formulář.
Odešlu, nic se nestane.

Takže když si ve formuláři nastavím

$form->onError[] = function($form) {
            bdump($form);
};

vypíše se mi formulář, kde vidím že se mi v hodnotách odesílá jen email, žádná recaptcha a v errors je
[0 ⇒ ‚This field is required.‘]

Recaptchu tam chci mít povinně, proto nechávám parametr required na true.

Nejspíš je tedy problém už v začátku, že se mi nevypisuje ta postranní ikona recaptchy někde, která by symbolizovala že se načetla OK?
Testuji lokálně, ale ani na serveru s jinými klíči založenými pro subdoménu to nefunguje a nic se nezobrazuje, formulář se pak neodešle.

Ani v admin consoli google pro recaptchu nevidím že by se vytvořil nějaký request, všude svítí samé 0. Nevím jestli to má nějaký delay, ale poprvé jsem to zkoušel už před týdnem a stále nic, takže hádám že request kdyby došel, tak se propíše.

Díky předem za rady, kde by mohl být problém.

Editoval MikKuba (30. 1. 15:17)

MikKuba
Člen | 88
+
+1
-

Tak vyřešeno :)
Zjistil jsem, že potřebné scripty JS jsem implementoval do jiné šablony, že ten jeden formulář používá jiný layout než ostatní stránky :)