AjaxForm placeholder в emailTo
Нужно сделать отправку почты по адресам выбранным в селекте формы
Но если передается список email адресов то почта не отправляется.
На всякий случай вызов формы и хук
Сделал вывод что он получает на вход emailTo
Временно решил прописав в хук email обработку поля emailAddr
Но если передается список email адресов то почта не отправляется.
[FormIt] Произошла ошибка при попытке отправить почту. Пожалуйста, введите хотя бы один адрес e-mail получателя.
Если этот список прописать напрямую в &emailTo, то все отправляется корректно.На всякий случай вызов формы и хук
[[!AjaxForm?
&snippet=`FormIt`
&form=`tpl.order_form`
&hooks=`groupSelector,FormItSaveForm,email`
&emailSubject=`[[+titleform]]`
&emailTo=`[[+emailAddr]]`
&validate=`name:required,phone:required`
&validationErrorMessage=`В форме содержатся ошибки!`
&successMessage=`Сообщение успешно отправлено`
]]
хук<?php
$resources = $modx->getCollection('modResource',array('parent' => 11));
foreach ($resources as $res) {
$title= $res->get('pagetitle');
if($hook->getValue('service') == $title){
$hook->setValue('emailAddr',$res->getTVValue('recipients'));
$modx->log(1, 'message: '.$res->getTVValue('recipients'));
return true;
}
}
$modx->log(1, 'message: '."Почта не найдена для региона");
return true;
Открыл хук EmailСделал вывод что он получает на вход emailTo
/www/core/components/formit/src/FormIt/Hook/Email.php : 226) [FormIt] [[+emailAddr]]
т.е. парсер не обрабатывает плейсхолдер.Временно решил прописав в хук email обработку поля emailAddr
$emailAddr= $this->hook->getValue('emailAddr', $this->formit->config, '');
if(!empty($emailAddr)){
$emailTo = $emailAddr;
}
Но как правильно решить эту проблему?