联系官方销售客服
1835022288
028-61286886
关于通知发布的一些小方法,自己瞎弄的,分享一下!
新闻发布后通知指定用户,其他自定义模型可以效仿。
第一步、在新闻模块下新建 app/news 文件目录下新建 Models/Content.php文件,内容如下
<?php namespace Phpcmf\Model\News; // 模块内容模型类 class Content extends \Phpcmf\Model\Content { // 内容发布之前 public function _content_post_before($id, $data, $old) { return $data; } // 内容发布之后 public function _content_post_after($id, $data, $old) { //var_dump($data) 可以获得更多值传入到 userdata数据里面,$data[1][title] 指定传入标题 $userdata = [ 'uid' => 3, //指定接收的账号ID 'username' =>'cainiao', //指定接收的用户名 'title' => $data[1][title] //指定传入的标题 ]; \Phpcmf\Service::L('Notice')->send_notice('tixinguser', $userdata); // tixinguser 为指定的通知模版 } // 格式化处理内容 public function _format_content_data($data) { return $data; } }
第二部、 新建一个消息模版文件,路径 config/notice/mobile/tixinguser.html
当前时间:{dr_date($sys_time)} 当前地址:{$ip_address} 发送人id:{$uid} 发送人账号:{$username} 内容标题:{$title}
然后在模块目录下创建 App/News/Config/Notice.php
<?php /** * 通知动作注册配置 * * 动作字符 => 动作名称 * **/ return [ 'tixinguser' => '新闻发布提醒指定用户!', ];
代码部分就已经OK了,最后再设置一下后台就可以了!
勾选你要通知的类型就搞定了!!
代码不是很严谨,没做相应的判断,只是提供了相关功能的实现流程指引!!!只想感叹XunRuiCMS真的很强大。。。
比如我的一个表是 news_form_test 我直接查询数据库的时候是
$this->db->table(SITE_ID.'_news_form_test')->where('cid', $uid)->get()->getResultArray();
如果要查询缓存,怎么写呢??请教下。。
比如查询 \Phpcmf\Service::C()->get_cache('module-'.SITE_ID.'-content'); 这个是查模型缓存,刚刚查看了下缓存文件目录,没有表单缓存,每发一篇文章就自动缓存,这个有点多余!!没想明白就提问, 叨扰大家了!!