`
tdwm
  • 浏览: 50014 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

phpcms 某个模型下 全部文章列表 包括评论数和浏览量

阅读更多

phpcms  调取 某个 模型下所有内容列表

 

action = "mlists"

 

modelid 模型id,必须,1是文章

siteid 必须 

caitid  可以是 2,3,4形式的字符串,也可以是单个catid值

 

如果要views,comments的数据,moreinfo必须设置成1,

 

只有评论数,没有点击量

 

{pc:content action="mlists" modelid="1" siteid="$siteid" catid="2,3,4,5" limit="30" moreinfo="1"  comments="1"}

 

 

只有点击量,没有评论数

 

 

{pc:content action="mlists" modelid="1" siteid="$siteid" catid="3" limit="30" moreinfo="1"  views="1"}

 

 

没有浏览量和评论数

 

 

{pc:content action="mlists" modelid="1" siteid="$siteid" catid="$catids" limit="30"   views="1"}

 

 

浏览数和评论数都有

{pc:content action="mlists" modelid="1" siteid="$siteid" catid="$catids" limit="30" moreinfo="1" views="1" comments="1"}
{loop $data $r}
{/loop}
{/pc}

 

 

 

 

php中加入: phpcms/modules/content/classes/content_tag.class.php

 

 

 

   public function mlists($data){
        if(!isset($data['modelid']) || intval($data['modelid']) <=0 ) return false;
        $catid = "1,". $data['catid'];
        $siteid = intval($data['siteid']);
        static $CATS;
        if ($CATS[$siteid]) {
            $this->category = $CATS[$siteid];
        } else {
            $CATS[$siteid] = $this->category = getcache('category_content_'.$siteid,'commons');
        }
        $this->modelid = $data['modelid'];
        $this->db->set_model($this->modelid);
        $this->tablename = $this->db->table_name;
        if(isset($data['where'])) {
            $sql = $data['where'];
        } else {
            $thumb = intval($data['thumb']) ? " AND thumb != ''" : '';
            if($cat_array=explode(',',$catid) ){
                $catids_str = $catid;
                foreach($cat_array as $k => $v){
                    if($this->category[$v]['child']) {
                        $catids_str .= ','.$this->category[$v]['arrchildid'];
                    }
                }
                $sql = "status=99 AND catid IN ($catids_str)".$thumb;
            }
        }
        $order = $data['order'];

        $return = $this->db->select($sql, '*', $data['limit'], $order, '', 'id');

        //调用副表的数据
        if (isset($data['moreinfo']) && intval($data['moreinfo']) == 1) {
            $ids = array();
            foreach ($return as $v) {
                if (isset($v['id']) && !empty($v['id'])) {
                    $ids[] = $v['id'];
                    $hitsids[$v['id']] = 'c-'.$this->modelid.'-'.$v['id'];
                    $commentids[$v['id']] = 'content_'.$v['catid'].'-'.$v['id'].'-'.$this->modelid;
                } else {
                    continue;
                }
            }
            if (!empty($ids)) {
                $this->db->table_name = $this->db->table_name.'_data';
                $ids = implode('\',\'', $ids);
                $r = $this->db->select("`id` IN ('$ids')", '*', '', '', '', 'id');
                if (!empty($r)) {
                    foreach ($r as $k=>$v) {
                        if (isset($return[$k])) $return[$k] = array_merge($v, $return[$k]);
                    }
                }
                //查询点击
                if (isset($data['views']) && intval($data['views']) == 1) {
                    $this->db->table_name = "xmlc_hits";
                    $hitsids_str = implode('\',\'', $hitsids);
                    $r = $this->db->select("`hitsid` IN ('$hitsids_str')", 'views,hitsid', '', '', '', 'hitsid');
                    foreach ($r as $k=>$v) {
                        $id = array_search($k,$hitsids);
                        if (isset($return[$id])) $return[$id] = array_merge($v, $return[$id]);
                    }
                }
                //查询评论数
                if (isset($data['comments']) && intval($data['comments']) == 1) {
                    $this->comment_db = pc_base::load_model('comment_model');
                    $commentids_str = implode('\',\'', $commentids);
                    $r = $this->comment_db->select("`commentid` IN ('$commentids_str')", 'count(commentid) as comment_num,commentid', '', '', 'commentid', 'commentid');
                    if (empty($r)) {
                        foreach ($return as $k=>$v) {
                            $return[$k]['comment_num']=0;
                        }
                    } else {
                        foreach ($r as $k=>$v) {
                            $id = array_search($k,$commentids);
                            if (isset($return[$id])) $return[$id]['comment_num'] = $v['comment_num'];
                        }
                    }
                }
            }
        }
        return $return;
    }

 

 

 

返回数据单个是:下面是var_dump出来的结果

 

array(31) {
  ["views"]=>
  string(1) "0"
  ["hitsid"]=>
  string(5) "c-1-1"
  ["id"]=>
  string(1) "1"
  ["content"]=>
  string(1010) "	"
  ["readpoint"]=>
  string(1) "0"
  ["groupids_view"]=>
  string(0) ""
  ["paginationtype"]=>
  string(1) "2"
  ["maxcharperpage"]=>
  string(1) "0"
  ["template"]=>
  string(0) ""
  ["paytype"]=>
  string(1) "0"
  ["relation"]=>
  string(0) ""
  ["voteid"]=>
  string(1) "0"
  ["allow_comment"]=>
  string(1) "1"
  ["copyfrom"]=>
  string(9) "人民网"
  ["catid"]=>
  string(2) "15"
  ["typeid"]=>
  string(1) "0"
  ["title"]=>
  string(60) "温州苍南被曝暴力强拆:抗议村民当场被拉走"
  ["style"]=>
  string(0) ""
  ["thumb"]=>
  string(0) ""
  ["keywords"]=>string(20) ""
  ["description"]=>string(196) ""
  ["posids"]=> string(1) "0"
  ["url"]=>
  string(78) "http://127.0.0.1/index.php?m=content&c=index&a=show&catid=9&id=1"
  ["listorder"]=>string(1) "0"
  ["status"]=>string(2) "99"
  ["sysadd"]=>string(1) "1"
  ["islink"]=> string(1) "0"
  ["username"]=>string(8) "wangchao"
  ["inputtime"]=>string(10) "1369276174"
  ["updatetime"]=>string(10) "1369276174"
  ["comment_num"]=> int(0)
}

 

 

 

 

 

分享到:
评论

相关推荐

    phpcms v9视频模型

    phpcms v9视频模型,不错的

    phpcms删除模型.rar_phpcms 删除模型_phpcms修改模型

    5. 最后,从模型列表中删除模型条目。 当遇到无法删除模型的情况,可能是以下几个原因: 1. 数据依赖:如果模型被其他内容(如栏目、内容、表单等)引用,系统通常不允许直接删除,以防止数据丢失。你需要先解除...

    [原创]phpcms2008房产模型

    5. **插件和模块化设计**: phpcms2008 提供丰富的模块和插件,如文章、图片、下载等,方便扩展和定制功能。 6. **数据备份与恢复**: 系统提供数据备份和恢复功能,保障网站数据安全。 7. **高性能**: 采用缓存技术...

    phpcms2008视频模型UTF-8Build20090603正式版

    - 内容管理:除了视频模型,phpcms2008还包含文章、图片等多种内容模型,满足不同类型的网站需求。同时,它支持自定义字段,使内容管理更具灵活性。 - 多语言支持:UTF-8编码确保了对全球多种语言的支持,使网站能...

    PHPCMS V9 分类信息模型正式版 UTF8.zip

    《PHPCMS V9 分类信息模型:打造高效的生活信息发布平台》 PHPCMS V9 是一款基于PHP语言和MySQL数据库开发的内容管理系统,以其强大的功能和灵活的扩展性,在网站建设领域备受青睐。其中,分类信息模型是PHPCMS V9 ...

    phpcms2008视频模型 UTF-8 Build 20090603 正式版.rar

    视频模型则是该系统的一个特色功能,它专门用于管理和展示视频内容,包括上传、分类、播放、评论等。 这个版本的phpcms2008包含了视频模型,意味着它可以处理各种视频格式,并提供用户友好的观看体验。安装过程相对...

    phpcms实现在首页列表页频道页调用评论数代码分享

    综上,文档详细说明了如何在PHPCMS框架下,利用内置的模板标签、模型和应用类等工具,实现网站不同页面上内容点击量和评论数的动态展示。这对于使用PHPCMS开发网站的开发者来说是十分实用的资源,能够帮助他们快速...

    phpcmsv9视频模型插件

    【phpcms v9 视频模型插件】是基于phpcms内容管理系统的一个扩展功能,它专为处理和展示视频内容而设计。这个插件的主要目标是支持FLV和MP4格式的视频,允许用户在网站上方便地上传、管理和播放这些多媒体文件。以下...

    phpcms调用全站最新文章列表的方法

    内容模型标签(Content Tag)在phpcms中用于获取文章列表、文章详情、文章评论等信息。 具体到代码实现,调用全站最新文章列表需要对phpcms的核心文件进行适当修改。通过修改文件:`phpcms\modules\content\classes...

    phpcms课程体系

    接下来,你会深入学习PHP CMS(内容管理系统)的概念和工作原理,理解PHPCMS如何管理、存储和展示内容,包括模板引擎、内容模型、分类管理、权限控制等核心概念。PHPCMS提供了丰富的API和钩子系统,使开发者能方便地...

    PHPCMS后台模板 美化PHPCMS后台

    3. **phpcms** - 这同样可能是一个目录,通常存放PHPCMS的核心框架文件,包括模型、库函数、配置文件等。尽管直接修改这部分可能涉及较大改动,但若需要深入定制,了解并可能调整这部分代码是必要的。 4. **statics...

    评论数统计更新插件 for phpcms.rar

    由于PHPCMS 3.0 到 PHPCMS 2007 的升级程序没有计算评论数,因此不少从PHPCMS 3.0 到 PHPCMS 2007 的网站文章评论数全部都显示为 0 。 下载附件上传到服务器phpcms根目录,然后访问 ...

    Phpcms_2007sp6_文章发表模块

    Phpcms_2007sp6_文章发表模块

    ASP网站CMS程序源码——phpcms视频模型正式版实例开发.zip

    【ASP网站CMS程序源码——phpcms...通过学习和实践这个"ASP网站CMS程序源码——phpcms视频模型正式版实例开发.zip",你可以深入了解如何利用phpcms构建和管理包含视频内容的网站,同时提升自己的PHP编程和Web开发技能。

    Phpcms的pc标签实现动态展现子栏目和文章列表

    Phpcms的pc标签实现动态展现子栏目和文章列表。图文教程

    phpcms数据导入导出模块

    phpcms V9是一款基于PHP开发的内容管理系统,它提供了丰富的网站建设和管理功能,包括文章发布、图片管理、下载中心等,同时支持自定义模型,满足不同类型的网站需求。在日常运营中,数据的导入导出功能是非常重要的...

    新浪图库内容页模型 for phpcms

    新浪图库内容页模型 for phpcms 。 phpcms 图片集模板,phpcms 图片播放器,phpcms 图片模板,phpcms 仿新浪图片模板,phpcms 仿sina图片集模板。 注:用户要根据自己的文件目录来修改 css ,js ,images 的路径, ...

    PHPCMS V9 数据结构

    2. **内容模型**:PHPCMS V9支持自定义内容模型,这允许用户根据需求创建不同类型的栏目,如文章、图片、下载等。每个模型都对应一个或多个数据库表,存储相关的内容数据。 3. **表结构**:常见的PHPCMS V9核心表...

    phpcmsV9后台美化版

    系统核心特性包括文章管理、栏目管理、会员管理、广告管理、投票管理、评论管理、自定义表单和字段等,能够满足多样化的需求。 在美化版中,我们可以看到以下主要优化点: 1. **界面设计**:通常会采用更为简洁、...

Global site tag (gtag.js) - Google Analytics