[spoiler]
пишем наследника в init.php
в confirmUrl добавляем необходимые нам дополнительные параметры.
CModule::IncludeModule("sender"); class sender_maxyss extends \Bitrix\Sender\Subscription { public static function sendEventConfirm($email, $mailingIdList, $siteId){ global $APPLICATION; $mailingNameList = array(); $mailingDb = MailingTable::getList(array('select' => array('NAME'), 'filter' => array("IS_TRIGGER" => "N", 'ID' => $mailingIdList))); while($mailing = $mailingDb->fetch()) { $mailingNameList[] = $mailing['NAME']; } $subscription = array( 'EMAIL' => $email, 'SITE_ID' => $siteId, 'MAILING_LIST' => $mailingIdList, ); $confirmUrl = static::getLinkSub($subscription); $confirmUrl.='&pattern='.$_COOKIE['SUBSCRIBE_ID'].'&rost='.$_COOKIE["SUBSCRIBE_ROST"].'&og='.$_COOKIE["SUBSCRIBE_OG"].''; $date = new DateTime; $eventSendFields = array( "EVENT_NAME" => "SENDER_SUBSCRIBE_CONFIRM", "C_FIELDS" => array( "EMAIL" => $email, "DATE" => $date->toString(), "CONFIRM_URL" => $confirmUrl, "MAILING_LIST" => implode("\r\n",$mailingNameList), ), "LID" => is_array($siteId)? implode(",", $siteId): $siteId, ); \Bitrix\Main\Mail\Event::send($eventSendFields); } } |
далее после перехода пользователя на страницу подтверждения подписки мы воспользуемся дополнительными параметрами, и осуществим необходимые нам дествия.