Поэтому я форкнул Sendex и добавил в табличку писем массовые операции. Василий принял мой Pull Request и теперь в Sendex можно зажать клавишу Shift и выделить сразу несколько писем. Выделенные письма можно удалить или отправить.

Кроме того, в новой версии появились параметры для отслеживания событий. При отправке письма с ссылкой для активации, к адресу страницы приписывается параметр sx_subscribed. Отслеживая этот параметр, вы можете показывать пользователю нужное сообщение.
При подтверждении подписки (при переходе по ссылке из письма), добавляется параметр sx_confirmed, а при отписке — sx_unsubscribed. Пример использования вы можете видеть прямо у меня на сайте:
- http://ilyaut.ru/?sx_subscribed=1
- http://ilyaut.ru/?sx_confirmed=1
- http://ilyaut.ru/?sx_unsubscribed=1
Ну и еще исправлен баг, когда в админке не отображалось изображение, прикрепленное к рассылке.
Объектная
на jquery просто?
if ($_GET['sx_subscribed']) { return '<div class="alert alert-success"> Письмо-подтверждение отправлено на почту. Перейдите по ссылке из письма. </div>'; }<?php $manager = $modx->getManager(); // ... // Запоминаем текущий уровень ошибок $level = $modx->getLogLevel(); // Выставляем самый мощный уровень, чтобы не было ругани в логах при попытке создания существующих полей $modx->setLogLevel(xPDO::LOG_LEVEL_FATAL); // Добавляем поле и индекс $manager->addField('sxQueue', 'hash'); $manager->addIndex('sxQueue', 'hash'); // Возвращаем старый уровень логирования $modx->setLogLevel($level);Думаю, что как-то так и можно создать новые поля.Каким образом можно осуществить подписку через форму на сайте для неавторизованных пользователей?
чтобы организовать рассылку по одному email
не работает в вызове
Этот код засылает всем разом.
$q = $modx->newQuery('sxQueue'); $queue = $modx->getCollection('sxQueue'); /** @var sxQueue $email */ foreach ($queue as $email) { $email->send(); }Нужно вычленить одного и отправить только емуа если вы имели ввиду, что после события отправить одно письмо, да, можно было бы, если бы это требовалось делать каждый раз, после того как юзер заслал письмо. но проблема в том, что сделать это нужно единожды. Сендекс для этого хорошо подходит тем, что после отправки удаляет письмо из очереди
if ($newsletter = $modx->getObject('sxNewsletter', $subscrId)) { $email_subject = $newsletter->get('email_subject'); $newsletter->set('email_subject', $resource->get('pagetitle')); $newsletter->save(); $response = $newsletter->addQueues(); if ($response !== true) { echo $response;die; } $newsletter->set('email_subject', $email_subject); $newsletter->save(); }А не подскажете, как корректно подружить AjaxForm и Sendex?
Использовал такую конструкцию
[[!AjaxForm? &snippet=`Sendex` &id=`1` &form = `tpl.Sendex.subscribe.guest`]]форма:Но толку никакого, форма после этого зависает, я так понимаю, что не происходит событие ajax_submit, не могли вы просветить? Отправка на почту при этом работает
Подскажите, пожалуйста, в чем может быть причина того, что после подписки с фронтэнда подписчик не добавляется в список пользователей сайта. В связи с этим соответственно не могу его вручную подписать на другую подписку. Раньше на MODX 2.4.2 (сейчас 2.5.5) все работало отлично. Сейчас вроде делаю все так же — в подписку email добавляется, но пользователь не создается.
Появились после перехода на PHP 8