Автоматическая подписка при регистрации в2рассылки
Добрый день, нашел плагин для sendex который реализует подписку пользователей при регистрации на 1 рассылку:
<?php
if ($modx->event->name == 'OnUserSave') {
if ($user && $mode == 'new') {
$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 = 2;
$profile = $user->getOne('Profile');
$userId = $profile->get('internalKey');
$userEmail = $profile->get('email');
$duble = $modx->getObject('sxSubscriber', array('email' => $userEmail));
if ($duble) {return;}
if ($userId) {
$obj = $modx->newObject('sxSubscriber');
$data = array(
'user_id' => $userId,
'email' => $userEmail,
'newsletter_id' => $idNewsletter,
);
$obj->fromArray($data);
$obj->save();
}
}
return;
}
Вопрос вот в чем, как реализовать подписку сразу на 2 id, пробовал создать второй плагин, и вешать на другое событие (OnUserActivate), не работает. Комментарии: 5
<?php
if ($modx->event->name == 'OnUserSave') {
if ($user && $mode == 'new') {
$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 рассылок
$idNewsletters = array(2,3);
$profile = $user->getOne('Profile');
$userId = $profile->get('internalKey');
$userEmail = $profile->get('email');
$duble = $modx->getObject('sxSubscriber', array('email' => $userEmail));
if ($duble) {return;}
if ($userId) {
foreach ($idNewsletters as $idNewsletter) {
$obj = $modx->newObject('sxSubscriber');
$data = array(
'user_id' => $userId,
'email' => $userEmail,
'newsletter_id' => $idNewsletter,
);
$obj->fromArray($data);
$obj->save();
}
}
}
return;
}
Не работает :(
Мои извинения, все работает :) Спасибо!
О! Узнал знакомый почерк)).
Рад, что всё получилось!
Рад, что всё получилось!
а как реализовать подобное, но с автоматическим выбором id подписки в зависимости от языка регистрирующегося пользователя?
К примеру, пользователь регистрируется с /en/ версии ресурса — ему присваивается id 1, а если с /ru/ то id 2
К примеру, пользователь регистрируется с /en/ версии ресурса — ему присваивается id 1, а если с /ru/ то id 2
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.