关于通知发布的一些小方法,自己瞎弄的,分享一下!
新闻发布后通知指定用户,其他自定义模型可以效仿。
第一步、在新闻模块下新建 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'); 这个是查模型缓存,刚刚查看了下缓存文件目录,没有表单缓存,每发一篇文章就自动缓存,这个有点多余!!没想明白就提问, 叨扰大家了!!