1 февр. 2017 г., 18:20

FormIt не выводит значение input в чанке отправки email.

Здравствуйте, люди добрые! Появилась проблема, касающаяся спецификации modx. Если в чанке отправки написать id поля, через синтаксис [[+inpudID]], то на почту благополучно придет значение введенное в этом поле. Но если это провернуть через pdoResources, то [[+inpudID]] воспринимается как текст. То есть на почту приходит не значение этого поля, а именно "[[+inpudID]]". ID полей могут добавляться и изменяться, и статично в чанке их не пропишешь… Калькулятор находится на этой странице. Буду рад любому совету, так как уже часа три пытаюсь разобраьтся с этим вопросом.
По поводу pdoTools лучше задать вопрос на сайте modx.pro — это их разработка
Я думал об этом, но это вопрос касательно самого formit. Через getResources такой же ведь результат. Но если кто-то столкнется с такой-же проблемой делайте вывод через свой сниппет на modx api. Так чанк отправки письма правильно воспринимает синтаксис [[+value]]. Не знаю стоит ли писать код, так как нужные значения берутся из migx. Такой частный случай. :) Ладно, я просто оставлю это здесь
function translit($tit) { $rus_alphabet = array( 'А', 'Б', 'В', 'Г', 'Д', 'Е', 'Ё', 'Ж', 'З', 'И', 'Й', 'К', 'Л', 'М', 'Н', 'О', 'П', 'Р', 'С', 'Т', 'У', 'Ф', 'Х', 'Ц', 'Ч', 'Ш', 'Щ', 'Ъ', 'Ы', 'Ь', 'Э', 'Ю', 'Я', 'а', 'б', 'в', 'г', 'д', 'е', 'ё', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ъ', 'ы', 'ь', 'э', 'ю', 'я', ' ' ); $rus_alphabet_translit = array( 'A', 'B', 'V', 'G', 'D', 'E', 'IO', 'ZH', 'Z', 'I', 'I', 'K', 'L', 'M', 'N', 'O', 'P', 'R', 'S', 'T', 'U', 'F', 'H', 'C', 'CH', 'SH', 'SH', '`', 'Y', '`', 'E', 'IU', 'IA', 'a', 'b', 'v', 'g', 'd', 'e', 'io', 'zh', 'z', 'i', 'i', 'k', 'l', 'm', 'n', 'o', 'p', 'r', 's', 't', 'u', 'f', 'h', 'c', 'ch', 'sh', 'sh', '`', 'y', '`', 'e', 'iu', 'ia', '_' ); $trans = str_replace($rus_alphabet, $rus_alphabet_translit, $tit); echo '[[+'.$trans.'-col]]'; } $resources = $modx->getCollection('modResource', array( 'template' => 27 )); $output = '

Всего ресурсов: '.count($resources).'

'; foreach ($resources as $k => $res) { $resource = $modx->getObject('modResource',$k); $tv = $resource->getTVValue('calcUsl'); $tv = json_decode($tv, true); $x = count($tv); foreach ($tv as $key => $value) { $tit = ($tv[$key][name]); $unit = ($tv[$key][unit]); $price = ($tv[$key][price]); echo ''.$tit.''; echo ''.$price.' рублей'; echo ''; translit($tit); echo ''; echo ''.$unit.''; } }

Добавить комментарий