Ошибка php AjaxForm!
Приветствую сообщество!
В общем дело такое, пользуюсь AjaxForm для модуля «Обратная связь» и вот раньше такой ошибки не было, а теперь появилась:
Может кто подскажет чего и куда копать!
Заранее спасибо!
В общем дело такое, пользуюсь AjaxForm для модуля «Обратная связь» и вот раньше такой ошибки не было, а теперь появилась:
Notice: Undefined variable: hook in /home/s/stark44/starknet/public_html/core/cache/includes/elements/modsnippet/216.include.cache.php on line 41
Собственно содержимое файла:<?php
// Register API keys at https://www.google.com/recaptcha/admin
$site_key = $modx->getOption('recaptchav2.site_key', null, '');
// reCAPTCHA supported 40+ languages listed here: https://developers.google.com/recaptcha/docs/language
$lang = $modx->getOption('cultureKey', null, 'en');
$recaptcha_html = $modx->getChunk('recaptchav2_html', array(
'site_key' => $site_key,
'lang' => $lang,
));
if ($hook) {
$hook->setValue('recaptchav2_html', $recaptcha_html); // This won't re-render on page reload there's validation errors
return true;
} else { // This works at least
return $recaptcha_html;
}
return;
Самое интересное, что форма работает нормально, письма отправляет! Но вот ошибка реально раздражает, методом проб и ошибок, понял, что она возникает из за сниппета recaptchav2 как бы с одной стороны не смертельно установить другую, но очень уж нравится гугловская!Может кто подскажет чего и куда копать!
Заранее спасибо!
Комментарии: 8
Ну неужели не кто не поможет? :(
тююю…
Обновите formit, ajaxform.
Покажите вызов ajaxform.
Просто так вряд ли бы сломалось.
Покажите вызов ajaxform.
Просто так вряд ли бы сломалось.
Все обновлено!
Вызов:
Как бы я уже писал, это не смертельно поменять её на яндекс капчу, но гугловская смотрится лучше, та и на мой взгляд надежнее!
Ругается на все, начиная с этой строки (см. выше):
Вызов:
[[!AjaxForm?
&form=`Main-contactForm`
&snippet=`FormIt`
&hooks=`recaptchav2,email`
&emailTpl=`emailtpl`
&emailSubject=`Обращения: проект [[++site_name]]`
&emailUseFieldForSubject=`1`
&emailTo=`[[+addressTo]]`
&emailReplyTo=`[[+contact_email]]`
&emailFromName=`[[++site_name]]`
&validate=`contact_name:minLength=^2^,
contact_email:email:required,
contact_message:minLength=^5^:required,
g-recaptcha-response:required`
&validationErrorMessage=`В форме содержатся ошибки!`
&successMessage=`Ваше сообщение успешно отправлено!`
]]
И смысл то в том, что эта ошибка выскакивает из-за гугловской рекапчи, при этом все прекрасно работает, форма отправляет данные, письма приходят! Убираю рекапчу нет ошибки, аяксформу по супер-минимуму комплектовал, толку ноль, виновна рекапча!Как бы я уже писал, это не смертельно поменять её на яндекс капчу, но гугловская смотрится лучше, та и на мой взгляд надежнее!
Ругается на все, начиная с этой строки (см. выше):
if ($hook) {
$hook->setValue('recaptchav2_html', $recaptcha_html); // This won't re-render on page reload there's validation errors
return true;
} else { // This works at least
return $recaptcha_html;
}
Поменяйте первую строчку на
Или измените в системных настройках уровень вывода ошибок. По умолчанию MODX нотисы не показывает же.
Настройка log_level — поставьте 1.
if (isset($hook) && $hook) {
Или измените в системных настройках уровень вывода ошибок. По умолчанию MODX нотисы не показывает же.
Настройка log_level — поставьте 1.
а вот стоит log_level — 1 у меня!
И поменять не получится! Файл ж перезаписывается каждый раз, когда кеш обновляется!
Та и честно сказать не помогло! Попробовал уже, даже не обновляя кеш, сохранить!
И поменять не получится! Файл ж перезаписывается каждый раз, когда кеш обновляется!
Та и честно сказать не помогло! Попробовал уже, даже не обновляя кеш, сохранить!
Вот заметил, что подобные ошибки после глобального обновления Tickets и pdoTools выскакивают! На самом деле это не первый случай таких ошибок и не только с recapcha2 но с тем же mFilter2! Но там они естественно решались, но факт в том, что начали влазить портить вид фронта! Раньше если и бывали ошибки, то по крайней мере в фронт они не выскакивали!
Все очень плохо… :(
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.