Перезагружается форма на AjaxForm
Проблема: форма отправки письма (на FormIt, через AjaxForm) отправляет письмо без перезагрузки только пока ты на странице, при этом в лог сыпется:
[2016-01-07 14:53:58] (ERROR @ /var/www/site.my/public_html/core/cache/includes/elements/modsnippet/20.include.cache.php: 48) PHP warning: Illegal string offset 'total'
[2016-01-07 14:53:58] (ERROR @ /var/www/site.my/public_html/core/cache/includes/elements/modsnippet/20.include.cache.php: 48) PHP warning: Illegal string offset 'total'
Если со страницы на которой находиться форма ушел и вернулся через пару дней, то при попытке отправить форму происходит перезагруз страницы, а в логе пусто.
Так происходит не зависимо кастомная форма или стандартная. Поправить это можно лишь очисткой кеша в ручную.
Вот вызов:
И форма:
[2016-01-07 14:53:58] (ERROR @ /var/www/site.my/public_html/core/cache/includes/elements/modsnippet/20.include.cache.php: 48) PHP warning: Illegal string offset 'total'
[2016-01-07 14:53:58] (ERROR @ /var/www/site.my/public_html/core/cache/includes/elements/modsnippet/20.include.cache.php: 48) PHP warning: Illegal string offset 'total'
Если со страницы на которой находиться форма ушел и вернулся через пару дней, то при попытке отправить форму происходит перезагруз страницы, а в логе пусто.
Так происходит не зависимо кастомная форма или стандартная. Поправить это можно лишь очисткой кеша в ручную.
Вот вызов:
[[!AjaxForm?
&snippet=`FormIt`
&form=`tpl.AjaxForm.contacts`
&hooks=`email`
&emailSubject=`с сайта YURVICE`
&emailTo=`yurchikus@gmail.com`
&emailFromName=`[[+name]]`
&emailTpl=`tpl.email-contacts2`
&validate=`name2:required,email2:required,message2:required`
&validationErrorMessage=`В форме содержатся ошибки!`
&successMessage=`Сообщение успешно отправлено`
]]
И форма:
<form action="" method="post" class="ajax_form">
<div class="form-group">
<label for="af_name" class="col-md-3 col-sm-3 col-xs-12 control-label">[[%af_label_name]]</label>
<div class="input-group col-md-9 col-sm-9 col-xs-12">
<input type="text" class="form-control" id="af_name" name="name2" value="[[+fi.name]]" placeholder="[[%af_label_name]]">
</div>
</div>
<div class="form-group">
<label for="af_email" class="col-md-3 col-sm-3 col-xs-12 control-label">[[%af_label_email]]</label>
<div class="input-group col-md-9 col-sm-9 col-xs-12">
<input type="email" class="form-control" id="af_email" name="email2" value="[[+fi.email]]" placeholder="[[%af_label_email]]">
</div>
</div>
<div class="form-group">
<label class="col-md-3 col-sm-3 col-xs-12 control-label" for="af_message">[[%af_label_message]]</label>
<div class="input-group col-md-9 col-sm-9 col-xs-12">
<textarea class="form-control" id="af_message" name="message2" rows="3" placeholder="[[%af_label_message]]">[[+fi.message]]</textarea>
</div>
</div>
<div class="control-group">
<div class="controls buttons-group">
<button type="submit" class="btn btn-transparent btn-sub pull-right"><i class="fa fa-share"></i> [[%af_submit]]</button>
<input type="hidden" name="two">
</div>
</div>
[[+fi.success:is=`1`:then=`
<div id="form-2" class="alert alert-success">[[+fi.successMessage]]</div>
`]]
[[+fi.validation_error:is=`1`:then=`
<div id="form-2" class="alert alert-danger">[[+fi.validation_error_message]]</div>
`]]
</form>
В чем может быть проблема и как это победить? Спасибо за участие. Комментарии: 5
Сталкивался с подобным. Только форма просто зависает и ничего не отправляет. Так и не разобрался в чем дело. Установил в настройках меньшее время хранения кэша, и проблемы больше не замечал
Григорий спасибо. Отключил частичное кэширование ресурсов, форма начала исправно работать, но в логи так и сыпется вышеуказанная ошибка, притом уже просто при перезагрузке страницы. Буду искать дальше.
В ошибке написано про сниппет 20. Что это за сниппет и что у него в 48 строчке?
снипет — Gallery
48: $modx->setPlaceholder($totalVar,$data['total']);
В снипетах ничего не менялось, возможно сервер. Сайт лежит на бесплатном (жутком) хосте. Возможно, где то ошибся в настройках, но это уже второй вопрос, главное с формой разобрались.
Всем большое спасибо!
48: $modx->setPlaceholder($totalVar,$data['total']);
В снипетах ничего не менялось, возможно сервер. Сайт лежит на бесплатном (жутком) хосте. Возможно, где то ошибся в настройках, но это уже второй вопрос, главное с формой разобрались.
Всем большое спасибо!
если еще актуально, вот решение forums.modx.com/thread/101883/the-error-in-the-snippet-gallery#dis-post-549372
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.