Проблема в том, что вы все не по фэншую делает. modPHPMailer не является наследником класса modProcessor, а потому его нельзя использовать как основу для процессора. Правильней вашим процессором расширить modProcessor и в методе process() получить сервис почты. $mailer = $this->modx->getService('mail.modPhpMailer'); P.S. И не пишите никогда такого: dirname(dirname(dirname(dirname(dirname(dirname(dirname(FILE))))))).'/model/modx/mail/modphpmailer.class.php'; Правильней MODX_CORE_PATH.'model/modx/mail/modphpmailer.class.php'; А в предложенном мной варианте этого вообще не нужно.
Но это не решит твоей проблемы с лейзи. Проверяй мапу. Ссылку я дал.
О, а точно, спасибо, переделаю через связанные объекты. Посмотрим, что будет))
Илья, привет. Чаще всего такое происходит, когда в мап-файле не для всех колонок есть описания. Смотри ветку здесь. На счет твоего сохранения двух объектов: как я понимаю, это на самом деле повторное сохранение одного и того же объекта, просто в первом случае он создается новый, а во втором он дергается из базы. В целом твой процессор логически не правильный. Исключение — это только если ты допускаешь, что созданный $secondOp может оставаться сохраненным в базе данных, даже если первичный объект не удалось сохранить. Надо же понимать, что в beforeSet() create-процессора $this->object еще не сохранен, и у него нет ID-шника. При попытке выполнения этого процессора у тебя еще в beforeSet() сохраняется вторичный объект, хотя в итоге этот метод может вернуть ошибку (а если не он, то еще есть beforeSave(), который так же может вернуть ошибку), и первичный объект не сохранится, а вторичный объект уже будет в БД. Все-таки гораздо правильней в подобных случаях через связанные объекты делать. То есть задай связи этим двум классам и в beforeSet() пропиши типа $this->object->secondOp = $this->modx->newObject('Operation'); И при сохранении первичного объекта у тебя автоматически и вторичный сохранится. Конечно и здесь есть логические ошибки в xPDO, ибо при сохранении первичного объекта сначала сохраняются вторичные объекты, и только потом первичный (а потом и опять вторичные), но здесь уже вероятность ошибок будет гораздо меньше. Плюс к этому ты на любом этапе до сохранения первичного объекта можешь устанавливать любые значения вторичному объекту, и он будет сохранен только при попытке сохранить первичный объект. Если до первичного объекта дело не дойдет, то и вторичный не будет записан в БД.
спасибо за подсказку упустил я этот момент. но, проблема не в работе сортировки а в том как ее прикрутить правильно
rsort с ассоциативным массивом не работает, пробуйте arsort
Спасибо и еще моментик такой. При отправке обратной связи получаю в письме на почту табличку fullname email phone message captcha feedback_submit manager_mail_subject Как настроить внешний вид обратного письма и в частности, Переименовать на русски и убрать часть лишних колонок к примеру captcha feedback_submit manager_mail_subject