Ребят, минуло 6 лет и вот что-то пошло не так! Для передачи email в скрипт использовал конструкцию в событии eFormOnBeforeMailSent
global $modx;
$prm=$modx->Event->params;
$email = $prm[to];
Вроде бы ничего не менял и не трогал, но теперь $modx->Event->params дает NULL!
Попробовал в другом снипете — параметры показывает. Может кто сталкивался, где искать? Evolution 1.4.15, Eform 1.4.9
Здравствуйте!
Скажите пожалуйста — тестовый магазин есть? можно ли просить, может у кого есть сборка, чтобы можно было установить и посмотреть как внутри все устроено.
Спасибо!
Добавляй тогда скриптом в форму input hidden с нужным значением.
При открытии формы скриптом собирай данные из нужных дивов, и вставляй в форму скрытый инпут. Или отправляй formData аяксом. Типа такого:
let formData = new FormData(form);
const outer = document.querySelector('.customDiv')
if (outer) {
const priceEl = outer.querySelector('.price')
if (priceEl) {
formData.append('price ', priceEl.innerHTML)
}
// и все остальные поля
}
Пока вместо SiteContent::descendantsOf($parent) использую SiteContent::where('parent', '=', $parent). Это для получения прямых потомков. А вот если нужно получить в глубину, никак. Только если делать еще один запрос?
Данные форм в web'е отправляются, исходя из элементов самой формы. Див — это не элемент формы.
Вопросы, пожелания?
Хочешь отправлять данные из хуйпойми откуда — сделай аякс, отправь эти данные, как key:value и прими в вызове runSnippet->('FormLister',[… параметры])
Так он называется — ФормЛистер. Он предназначен именно для работы с формами. В описании так и написано.
Если вы хотите сделать решение, чтобы оно еще и из div'ов отправляло, узнавая данные к примеру по особому классу, то допишите расширение базового контроллера.
Ну здрасьте, на сервер нужно/можно не только формы отправлять, которые пользователь заполняет, но и другие данные. Странно, как раз, втыкать в формы то, что не требует заполнения пользователем.
Ну, если кошерных решений нет, то придётся делать так, хотя это странно, что такой великий и могучий FormLister не может сделать тривиальную вещь (наверняка может, уверен, но как? — известно только, видимо, автору).
Не совсем там(
Искать, оказывается, надо файл PHPMailer.php! и находится он в
/core/vendor/phpmailer/phpmailer/src/PHPMailer.php
Ну, и если что, то править надо 215 строку.
p.s. толку не дало, пошел ставить FormLister… и это из-за 2-х несчастных инпутов с именем и почтой :(
global $modx;
$prm=$modx->Event->params;
$email = $prm[to];
Вроде бы ничего не менял и не трогал, но теперь $modx->Event->params дает NULL!
Попробовал в другом снипете — параметры показывает. Может кто сталкивался, где искать? Evolution 1.4.15, Eform 1.4.9
Скажите пожалуйста — тестовый магазин есть? можно ли просить, может у кого есть сборка, чтобы можно было установить и посмотреть как внутри все устроено.
Спасибо!
При открытии формы скриптом собирай данные из нужных дивов, и вставляй в форму скрытый инпут. Или отправляй formData аяксом. Типа такого:
FormLister не цепляет данные из элементов верстки, только из полей отправляемой формы: input, select, textarea и т.д.
Вопросы, пожелания?
Хочешь отправлять данные из хуйпойми откуда — сделай аякс, отправь эти данные, как key:value и прими в вызове runSnippet->('FormLister',[… параметры])
Если вы хотите сделать решение, чтобы оно еще и из div'ов отправляло, узнавая данные к примеру по особому классу, то допишите расширение базового контроллера.
Ну так я вам просто путь к папке указал, а там уж чтобы дальше сами.
Будет легче, чем с еФормом :)
Попробовал вот так:
тоже мимо(
Искать, оказывается, надо файл PHPMailer.php! и находится он в
/core/vendor/phpmailer/phpmailer/src/PHPMailer.php
Ну, и если что, то править надо 215 строку.
p.s. толку не дало, пошел ставить FormLister… и это из-за 2-х несчастных инпутов с именем и почтой :(
Поставьте display=1