在编写的过程中,我希望用户和平台之间可多点互动,让用户能感受到平台的最新动态!,如推出活动,消息等,我都希望用户能在自己的个人中心可查看得到,无需客服人员在群或者其他地方发布活动通知!,因为我想到用一个站内消息这样的方法来通知用户!
首先,我们需在 需要试用到站内发送消息的地方进行 函数的引用,然后实例化! 以下为我自己的编写习惯!可进行修改
控制器:AccountController.class.php 邮件方法: Message.php ->存放路径:/Think/Library/Vendor/下即可
1.对函数进行初始化引
public function _initialize(){
parent::_initialize();
Vendor("Message");
}
2.引入之后对函数进行实例化
$message = new \message();
走到这,函数则引入成功,即可针对相应的操作!
Account 控制器 我是用于 存放 用户 登入, 注册 等操作,在用户注册时 管理员向用户发送一条注册通知信息
$message = new \message();
$mytime = NOW_TIME;
$type = 0;
$messageTitle = "注册成功通知!";
$messageContent = '欢迎您';
$message->addMessage($type,1,$su,$messageTitle, $messageContent,$mytime);
实例化message()方法成功后,我使用了一个addMessage()方法,来用于发送站内消息给用户
对此,控制器中的步骤我这已经完结了,然后就是在 Message.php这个函数类中进行这个方法的编写
//发送信息 $type - 消息类型 $from_uid - 发送人 $to_uid - 接收人 $title - 标题 $content - 内容 $addtime - 发送时间
public static function addMessage($type,$from_uid = 0, $to_uid=0,$title,$content, $addtime = null) {
$db = D('message');
M()->startTrans();
$data = array(
'type' => $type,
'from_uid' => $from_uid,
'to_uid' => $to_uid,
'to_uids' => '',
'title' => $title,
'content' => $content,
'ctime' => $addtime,
'off' => 0
);
$res = $db->add($data);
if($res){
M()->commit();
return true;
}else{
M()->rollback();
return false;
}
}
这样,当用户注册成功后,即可收到网站给用户发送的一条站内提醒通知!!
这是一个简单的接收消息注册消息,可在辞函数方法中进行深入的编写,如 针对 type 的类型 以不同的消息通知用户
内容有限,没有花太多的精力在深入研究,如有更好的方法,或者不足之处,还望大神指点