PHPCMS定时定量发布,并设置发布时间为最新当前时间

  1. 首先在api/count.php文件中的?>PHP代码前,增加如下代码:


/*新增定时发布功能2024-05-10*/


$urlobj = pc_base::load_app_class('url', 'content');//加载内容模块content下的url类


$html = pc_base::load_app_class('html', 'content');//加载内容模块content下的html类


$modelid = $modelid ? $modelid : intval($_GET['modelid']);//获取当前模型id


$content_db = $content_db ? $content_db : pc_base::load_model('content_model');//加载内容模型


$content_db->set_model($modelid);//根据模型id获取对应表并未下面的实例化做准备


$where = ' status = 1 and inputtime <= '.SYS_TIME;//组装查询条件


$r = $content_db->count($where);//统计操作个数


if( !empty($r) ){ //执行update操作

    //配置参数

    $limit = 1;//每次更新发布的数量

    

    $r = $limit;

   

    $ids = $content_db->select($where, 'id,catid', $r, $limit, '', 'id');//组装所有id组成的数组

    

    foreach($ids AS $kid=>$v){

        

        $catid = $v['catid'];  //获取栏目id

        

        $id = $kid;             //获取文章id

        

        $r = $content_db->get_content($catid,$id);//返回主附表合并数据;

        

        $urls = $urlobj->show($id, 0, $catid, $r['inputtime'], '',$r,'add');//返回组装数据

        

        $urls['data']['inputtime'] = $urls['data']['updatetime'] = SYS_TIME;//将最新时间赋值给最新数据

        

        $urls1 = $urls[0];//提取最新url

        

        $urls['data']['url'] = $urls1;//赋值到最新数据中

        

        $content_zdb = $content_zdb ? $content_zdb : pc_base::load_model('content_model');//加载内容模型

        

        $content_zdb->set_model($modelid);

        

        $content_zdb->update(array('url'=>$urls1),array('id'=>$id));//更新数据库url

        

        if($urls['content_ishtml']) $html->show($urls[1],$urls['data'],0);//执行生成内页操作

        

        $html->index();

        

        $html->create_relation_html($catid);

    }

    $where1 = $where.' limit '.$limit;

   

    $content_db->update( array('status'=>99,'inputtime'=>SYS_TIME,'updatetime'=>SYS_TIME),$where1 );

}

2.在bt计划任务添加访问文章内页url的任务.

最后就大功告成了。


本文关键词:

联系我们

在线咨询:点击这里给我发消息

邮件:w420220301@qq.com