Всего 123 788 комментариев

Денис Усманов
29 июня 2023, 12:05
+1
Используй MixedImage, там это работает и можно вкл./выкл. удаление файлов…
Сергей С
29 июня 2023, 11:05
0
properties на этапе msOnBeforeCreateOrder тоже пустой оказался, на этом этапе т.к. в нашем случае там пишутся utm только при сохранении заказа. Судя по многочисленным тестам в плагине на этом этапе можно получить только данные из формы заполненной посетителем в корзине+ товар.
Николай Савин
29 июня 2023, 10:41
+1
Можете. Общий Принцип взаимоотношений с менеджером очередей я показал. Доступ к настройкам сниппета, к полям формы есть. Крутите ими как хотите, все данные для этого доступны.
Александр Быковский
29 июня 2023, 10:38
0
Николай, прошу прощения за может быть нелепый вопрос, но могу ли я сделать третью отправку с задержкой отдельным хуком. А email и FormItAutoResponder оставить в вызове FormIt как есть. Там проблема в том, что клиенту отправляются два разных по содержанию письма, а параметр fiarTpl я поменять не могу(
gloobus
29 июня 2023, 09:27
0
Использую, но у меня 100500 Migx'ов :)
Николай Савин
29 июня 2023, 09:10
+1
Заполненные поля формы доступны в параметре $params['fields']. Достаньте email оттуда, нет проблем.
Александр Быковский
29 июня 2023, 09:07
0
>> Чтобы письма отправлялись в разное время, нужно просто перебрать 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;
        }  
    }
   
}
Любовь
29 июня 2023, 08:17
0
К сожалению, тоже не помогло…
Александр Быковский
29 июня 2023, 07:49
0
Николай, правильно ли я понимаю, что этими действиями мы заменяем хук email и отправка писем (хуки email + FormItAutoResponder) будут откладываться на заданное время?

А если ситуация такая когда отправляются 3 письма: Заявка ушла админу/менеджеру, непонимание ушло клиенту — это всё мгновенно должно уходить после отправки формы. А третье через 15 минут уходит опять же клиенту.
Как на схеме, как прикрутить этот компонент? Заранее благодарен

Dan
Dan
29 июня 2023, 07:39
0
У fenom, если не ошибаюсь, нет метода получения коллекции TV. Поэтому надо написать свой сниппет. В принципе можете потом переменной присвоить результат сниппета и работать так, как хотели. Условно:
{set $res_five = '!getResourceTVs' | snippet : ['id' => 5]}
Дмитрий Середюк
29 июня 2023, 02:23
0
Если что Вот есть норм сервис, smtp.bz/panel/ там и DKIM через него и Все прочие плюшки подрубаю.
Тодор
29 июня 2023, 01:38
+2
id пусто для события msOnBeforeCreateOrder, так как обект msOrder еще не сохранен на етом етапе. По поводу properties, по умолчанию етот масив пустой, нужно сначала туда что-то положить
Сергей С
28 июня 2023, 23:04
0
Все Всем спасибо. Разобрался. Плагин собирал данные на момент msOnBeforeCreateOrderа тогда еще не присвоен id и properties
Сергей С
28 июня 2023, 22:59
0
это массив весь
[id] =>
[user_id] => 115
[createdon] => 2023-06-28 22:38:43
[updatedon] =>
[receiver] => Тест
[phone] => +79999999999
[country] =>
[index] =>
[region] =>
[city] => Карла Маркса д.26
[metro] =>
[street] =>
[building] =>
[entrance] =>
[floor] =>
[room] =>
[comment] =>
[text_address] =>
[properties] =>
[assembly] => 0
[point] =>
[delivery] => 60
[email] => test@yandex.ru
[payment] => 1
[ms2_action] => order/submit
[ctx] => web
Сергей С
28 июня 2023, 22:31
0
$msOrder->get('num') есть
$msAddress->get('user_id') есть
а
$msAddress->get('id') нету.
$msOrder->get('id') тоже нет
Сергей С
28 июня 2023, 22:27
0
$msAddress->get('id') вот так не хочет.
Николай Савин
28 июня 2023, 22:24
0
Пардон не понял тогда. msAddress совершенно точно имеет id.