Не могу понять, как работает sendNoticePM? С sendEmail понятно, к примеру
$messenger->sendEmail($to, $letter);
$to — кому отправляем
$letter — массив с письмом.
А как отправить через sendNoticePM конкретному пользователю. Взять например, как это в группах работает
$messenger->sendNoticePM($notice, 'groups_invite');
$notice — массив с сообщением
'groups_invite' — непонятно
Да и не понятно, как кому-то конкретно отправить?
#1
10 сентября 2020 в 22:56
#2
11 сентября 2020 в 07:59
А как отправить через sendNoticePM конкретному пользователю
Добавить получателя перед отправкой. Пример отправки уведомления при добавлении в друзья:
public function sendNoticeAccepted($friend){ $messenger = cmsCore::getController('messages'); $messenger->addRecipient($friend['id']); $sender_link = '<a href="'.href_to($this->name, $this->cms_user->id).'">'.$this->cms_user->nickname.'</a>'; ); $messenger->sendNoticePM($notice, 'users_friend_accept'); }
Спасибо!
Сегодня в 13:42
#4
11 сентября 2020 в 08:06
Этот параметр непонятен.'users_friend_accept'
У меня ещё есть задача, нужно через стандартные уведомления сделать запрос в друзья, в контроллере users в экшене friend_add не совсем понятно, потому-что там отправка идёт через ajax, и отправка выглядит так:
может это сделать как-то из параметра подтверждения запроса в друзья, который так же в экшене friend_add, сообщение так выглядит:
Но не знаю как обратиться из своего компонента к экшену friend_add, пробовал так:
Не работает, ошибки
'confirm_action' => $this->cms_template->href_to('friend_add', $friend['id']) ), $this->request);
'is_closeable' => false ), 'title' => LANG_ACCEPT, 'controller' => $this->name, 'action' => 'friend_add', ), .........
.... 'title' => LANG_ACCEPT, 'controller' => cmsCore::getController('content', $this->name), 'action' => 'friend_add', 'params' => $mail['friend_link'] ), ....
#6
11 сентября 2020 в 08:32
В настройках профиля каждого юзера есть вкладка "уведомления", где юзер выбирает, какие уведомления получать. Это пишется в таблицу cms_users.'users_friend_accept'
Этот параметр непонятен.
Если есть у юзера желание получать уведомления о подтверждении дружбы (у него выбран тип уведомлений 'users_friend_accept') — он их получит.
Вот это не понял.У меня ещё есть задача, нужно через стандартные уведомления сделать запрос в друзья
#7
11 сентября 2020 в 08:51
Когда пользователь 1, заходит к пользователю 2 в профиль и нажимает "Добавить в друзья", появляется ajax окно с запросом о добавлении в друзья, оно не связано с уведомлениями, более того, по прямой ссылке мойсайт.ру/users/friend_add/2, отрисованно не корректно. Ещё раз за окно о добавлении в друзья, я думаю отвечает этот кодВот это не понял.
return $this->cms_template->renderAsset('ui/confirm', array(
'confirm_title' => sprintf(LANG_USERS_FRIENDS_CONFIRM, $friend['nickname']),
'confirm_action' => $this->cms_template->href_to('friend_add', $friend['id'])
), $this->request);
'confirm_title' => sprintf(LANG_USERS_FRIENDS_CONFIRM, $friend['nickname']),
'confirm_action' => $this->cms_template->href_to('friend_add', $friend['id'])
), $this->request);
$notice = array(
'content' => sprintf(LANG_USERS_FRIENDS_NOTICE, $sender_link),
'options' => array(
'is_closeable' => false
),
'actions' => array(
'accept' => array(
'title' => LANG_ACCEPT,
'controller' => $this->name,
'action' => 'friend_add',
'params' => array($this->cms_user->id)
),
.........
....
'accept' => array(
'title' => LANG_ACCEPT,
'controller' => cmsCore::getController('content', $this->name),
'action' => 'friend_add',
'params' => $mail['friend_link']
),
....
'accept' => array(
'title' => LANG_ACCEPT,
'controller' => cmsCore::getController('content', $this->name),
'action' => 'friend_add',
'params' => $mail['friend_link']
),
....
Vladimir,
Теперь еще сильнее не понял.
Система и так рассылает уведомления о предложении дружбы.
Теперь еще сильнее не понял.
Система и так рассылает уведомления о предложении дружбы.