Как посредством консоли внести подписчиков в Sendex?

Друзья, всем привет!
Есть вот такой интересный код, при помощи которого в базу Sendex можно вносить почтовые ящики для рассылки

<?php

$Sendex = $modx->getService('sendex','Sendex',$modx->getOption('sendex_core_path',null,$modx->getOption('core_path').'components/sendex/').'model/sendex/');

if (!($Sendex instanceof Sendex)) return '';

// Указать ID рассылки
$idNewsletter = 1;

$emails = [
	'mail@yandex.ru',
];

foreach ($emails as  $email) {	

	$duble = $modx->getObject('sxSubscriber', array('email' => $email));
 
	if ($duble) { continue; }

	$obj = $modx->newObject('sxSubscriber');    
       $data = array(
        'user_id' => 0,
        'email' => $email,
        'newsletter_id' => $idNewsletter,
    );

    $obj->fromArray($data);
    $obj->save(); 
}
Однако есть одна неприятная особенность. Имя каждого подписчика — аноним
Кто может помочь и исправить данный код, чтобы можно было интегрировать не просто ящики а ящики + имена?

Буду очень признателен
Андрей
20 ноября 2020, 10:23
modx.pro
411
0

Комментарии: 2

Сергей Кузьмин
20 ноября 2020, 21:40
0
В Вашем коде неоткуда взяться имени подписчика. У Вас берется е-майл из массива $emails, а там только почтовые ящики. Вобщем Вам надо массив $emails передавать не только е-мал но и name. Ну и в $data тоже добавить переменную name. Как то так.
    Сергей Кузьмин
    20 ноября 2020, 23:46
    0
    Не правильно вам написал. Обратите внимание на массив $data. Вы задаёте user_id => 0, а должно быть id зарегистрированного пользователя. Тогда можно получить его имя.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    2