[solved]Не отправляется сообщение пользователям

Делаю плагин, в котором пользователям, выбранным по значению добавленного поля, отсылается сообщение — всё примерно как с отправкой сообщений подписчикам блога, но шаблон сообщения пришлось изменить. Для этого сделал модуль, наследующий Notify, и добавил свою функцию по образцу SendTopicNewToSubscribeBlog:

 public function SendNewMatch(ModuleUser_EntityUser $oUserTo, ModuleTopic_EntityTopic $oTopic, ModuleBlog_EntityBlog $oBlog, ModuleUser_EntityUser $oUserTopic) {
		/**
		 * Передаём в шаблон переменные
		 */
		$this->oViewerLocal->Assign('oUserTo',$oUserTo);
		$this->oViewerLocal->Assign('oTopic',$oTopic);
		$this->oViewerLocal->Assign('oBlog',$oBlog);
		$this->oViewerLocal->Assign('oUserTopic',$oUserTopic);
		/**
		 * Формируем шаблон
		 */
//ошибка
		$sBody=$this->oViewerLocal->Fetch(Plugin::GetTemplatePath(__CLASS__).'notify.new_match.tpl');
		/**
		 * Если в конфигураторе указан отложенный метод отправки, 
		 * то добавляем задание в массив. В противном случае,
		 * сразу отсылаем на email
		 */
		if(Config::Get('module.notify.delayed')) {
			$oNotifyTask=Engine::GetEntity(
				'Notify_Task', 
				array(
					'user_mail'      => $oUserTo->getMail(),
					'user_login'     => $oUserTo->getLogin(),
					'notify_text'    => $sBody,
					'notify_subject' => $this->Lang_Get('notify_subject_new_match').' «'.htmlspecialchars($oBlog->getTitle()).'»',
					'date_created'   => date("Y-m-d H:i:s"),
					'notify_task_status' => self::NOTIFY_TASK_STATUS_NULL,
				)
			);
			if(Config::Get('module.notify.insert_single')) {
				$this->aTask[] = $oNotifyTask;
			} else {
				$this->oMapper->AddTask($oNotifyTask);
			}
		} else {		
			/**
			 * Отправляем email
			 */
			$this->Mail_SetAdress($oUserTo->getMail(),$oUserTo->getLogin());
			$this->Mail_SetSubject($this->Lang_Get('notify_subject_new_match').' «'.htmlspecialchars($oBlog->getTitle()).'»');
			$this->Mail_SetBody($sBody);
			$this->Mail_setHTML();
			$this->Mail_Send();
		}
	}

Почему-то при заполнении тела письма шаблоном(oViewerLocal->Fetch) в браузер выводится этот шаблон и все дальнейшие шаги не выполняются. Если присвоить переменной $sBody простую текстовую строку, этого не происходит, но и письмо тоже не доставляется, но с этим уже позже разберусь

1 комментарий

avatar
Всё в порядке, дело было в кривом шаблоне сообщения
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.