Николай Савин

Николай Савин

С нами с 06 июня 2015; Место в рейтинге пользователей: #5
Николай Савин
11 июля 2023, 20:21
0
Так компонент для MODX2, а у Вас MODX3. Потому и недоступен
Николай Савин
10 июля 2023, 19:51
+1
На форумах пишут, что такую проблему вызывает отключенная настройка anonymous_sessions
github.com/modxcms/revolution/issues/13742
community.modx.com/t/login-fails-silently-seems-to-be-a-session-problem/6654/6
Николай Савин
09 июля 2023, 12:52
0
Очистите каталог с кэшем core/cache и посмотрите, заполняется ли он заново при входе. Такая проблема бывает, когда не доступен на запись этот каталог
Николай Савин
06 июля 2023, 08:31
+2
Антон — тебе спасибо.
Николай Савин
04 июля 2023, 16:56
+1
Огромное спасибо
Николай Савин
03 июля 2023, 13:32
0
А сам не хочешь сделать нужные PR?
Николай Савин
03 июля 2023, 09:55
+2
Спасибо @Евгений Webinmd — он делает почти все самые важные вещи. А именно придумывает большинство идей, и ежедневно без выходных пинает меня, чтобы работал. По праздникам еще и сам присылает обновления (когда прислал, тогда и праздник)
Николай Савин
03 июля 2023, 09:53
+1
Ну не все же сразу. В планах есть импорт из разных форматов. По экспорту тоже мыслишки есть. Все будет зависеть от поддержки сообщества
Николай Савин
01 июля 2023, 19:49
0
На удивление первый раз за всю карьеру вижу пример работы с migxDB (сам не пользуюсь, есть modExtra для этого)
Николай Савин
29 июня 2023, 10:41
+1
Можете. Общий Принцип взаимоотношений с менеджером очередей я показал. Доступ к настройкам сниппета, к полям формы есть. Крутите ими как хотите, все данные для этого доступны.
Николай Савин
29 июня 2023, 09:10
+1
Заполненные поля формы доступны в параметре $params['fields']. Достаньте email оттуда, нет проблем.
Николай Савин
29 июня 2023, 08:47
+1
Да верно. Мы заменяем хук email. Насчет хука FormItAutoResponder…
В сниппете send_email в список выполняемых хуков нужно просто добавить все нужные хуки.

Чтобы письма отправлялись в разное время, нужно просто перебрать email и каждому поставить свою задачу. Перепишем кусок поставновки задачи вот так:

// Перечисляем какие поля вы заполняете в сниппете, из тех что требуются для отправки писем
$fields = [
    'emailTo',
    'emailSubject',
    'successMessage',
    'fields'
];
$params = [];
foreach($fields as $key) {
    if (!empty($scriptProperties[$key])) {
        $params[$key] = $scriptProperties[$key];
    }
}

if ($task instanceof sTask) {
    $emails = $params['emailTo'];
    unset($params['emailTo']);
    $emails = array_map('trim', explode(',', $emails));
    foreach($emails as $email) {
        $params['emailTo'] = $email;
        // Здесь можете указать через какое время выполнить задание. 

        switch($email) {
            case 'bigboss@mail.ru':
                //   Этому отправляем сразу
                $task->schedule('+1 second', $params);
            case 'smallboss@mail.ru':
                //   Этому отправляем через 5 минут
                $task->schedule('+5 minutes', $params);
            break;
        }  
    }
   
}
Николай Савин
28 июня 2023, 22:24
0
Пардон не понял тогда. msAddress совершенно точно имеет id.
Николай Савин
28 июня 2023, 21:55
0
Используйте связь между объектами $msAddress->Order
Николай Савин
28 июня 2023, 10:11
+1
Обратите внимание, я передаю в плагин через сессию идентификатор сессии, это связано с тем, что у меня на сайте авторизация происходит не через процессор, а с помощью метода addSessionContext(), который меняет id сессии, а нужен тот id, который был до авторизации. Возможно, при авторизации через процессор, такого не происходит, но я не проверял.
Процессор использует ровно тот же метод addSessionContext, добавляя еще проверку прав, запуск событий и т.п. Так что все идентично по факту. И да — addSessionContext меняет id сессии. Способа бороться с этим нет.
Я для себя делаю так

$_SESSION['prev_session_id'] = session_id();
$user->addSessionContext();
И далее запрос в базу избранного можно строить используя текущий обновленный session_id и одновременно старый из сессии.
Николай Савин
28 июня 2023, 10:06
0
Сессии так-то тоже не везде используются. Перезаписываются при каждой авторизации