p​h​p​c​m​s​栏目调用详解

技术教程 2026-01-09 16:17:52 浏览

1.phpcms v9 所有当前栏目信息标签

下面做总结,方便大家找到在内容页想调用的东西当前栏目id: {$catid}当前栏目名: {$CATEGORYS[$catid][catname]}当前栏目目录名: {$CATEGORYS[$catid][catdir]}当前栏目URL: {$CATEGORYS[$catid][url]}当前栏目位置(面包屑导航): 首页 > {catpos($catid)}正文 当前栏目描述: {$CATEGORYS[$catid][description]}当前栏目图片: 当前栏目的内容数: {$CATEGORYS[$catid][items]}当前栏目的点击数: {$CATEGORYS[$catid][hits]}当前栏目的上级栏目id: {$CATEGORYS[$catid][parentid]}可以放在内容页的任何位置 显示效果如下:

代码如下:

{pc:get sql="select * from v9_category where parentid = 19 order by listorder asc limit 0,6 --"}{loop $data $v}{$v[url]}{/loop}{/pc}

代码如下:

{if isset($SEO['title']) && !empty($SEO['title'])}{$SEO['title']}{/if}{$SEO['site_title']}{$SEO['keyword']}{$SEO['description']} p​h​p​c​m​s​栏目调用详解

地址替换为根目录下\statics\css:{CSS_PATH}地址替换为根目录下\statics\js{JS_PATH}{pc:content action=”position” posid=”9″ order=”id” num=”10″ cache=”3600″}pc标签{pc:content 参数名=”参数值”参数名=”参数值”参数名=”参数值”} {loop $data $k $v}

  • {$v[title]}
  • {/loop}

    pc标签值action=”position”————-对话框的类型=“内容推荐位列表”posid=”9″——————–推荐位ID=“9” order=”id”——————–排序类型=“id”num=”10″ ——————-数据调用数量=“10”cache=”3600″—————-缓存=”3600″毫秒{APP_PATH}—————–项目地址action=”hits” 排行,热点等action=”lists” 主要用于列表等。catid=”$catid” 当前栏目ID 指定数字,即为指定的栏目num=”" 调用文章的数量order=”id DESC” 按ID降序排列order=”id ASC” 按ID升序排列thumb=”1″ 缩略图page=”$page” 需要分页每当列表几行的时候出现一次这个 :{if $num%2==0} {/if}循环标签——{loop $data $r} {/loop}——{loop $info $r} {/loop}日期——{date(‘Y-m-d H:i:s’,$r[inputtime])}文章链接——{$r[url]}文章标题——{$r[title]}标题截取——{str_cut($r[title],40,’„’)}缩略图——loop是info的时候用 {thumb($r[thumb],110,0)—— loop是data的时候用{thumb($v[thumb],90,0)}分页标签——{$pages}文章页标签标题——{$title}内容——{$content}日期——{$inputtime}来源——{$copyfrom}点击数——3.栏目网站首页——{siteurl($siteid)}当前位置——{catpos($catid)}栏目名称——{$CAT[catname]}栏目拼音——{$CAT[letter]}栏目链接——{$CAT[url]}父栏目名称——{$CATEGORYS[$CAT[parentid]][catname]}父栏目链接——{$CATEGORYS[$CAT[parentid]][url]}上上级栏目名称——{$CATEGORYS[$CATEGORYS[$CAT[parentid]][parentid]][catname]}上上级栏目链接——{$CATEGORYS[$CATEGORYS[$CAT[parentid]][parentid]][url]}一级父栏目列表

    代码如下:

    {pc:content action=”category” catid=”0″ num=”34″ siteid=”$siteid” order=”listorder ASC”}{loop $data $r}
  • {$r[catname]}
  • {/loop}{/pc}

    代码如下:

    {pc:content action=”category” catid=”$parentid” num=”12″ siteid=”$siteid” order=”listorder ASC”}{loop $data $r}
  • {$r[catname]}
  • {/loop}{/pc}

    代码如下:

    {loop $photos $r}
  • 其中$photos为自定义组图字段, 修改phpcms\modules\content\classes\content_tag.class.php在最后面的 } 上面添加

    代码如下:

    public function newcontent($data){$num = intval($data['limit']) ? intval($data['limit']) : '20'; // 设置排序switch($data['order']){ case '1':$order = ' `id` ASC '; break; case '2':$order = ' `id` DESC '; break;case '3':$order = ' `inputtime` ASC '; break; case '4':$order = ' `inputtime` DESC '; break;case '5':$order = ' `updatetime` ASC '; break;case '6':$order = ' `updatetime` DESC '; break; default:$order = ' `id` DESC '; }if($data['catid']){$catids = explode(',', $data['catid']); foreach($catids as $catid){ $catid = intval($catid); if(empty($catid))continue;$this->set_modelid($catid);$where = $this->category[$catid]['child'] ? ' `catid` IN ('.$this->category[$catid]['arrchildid'].')' : " `catid` = $catid";$datas = $this->db->select($where, '*', $num, $order); $data[$catid]['data'] = $datas; // 记录本次的文章数 $data['num'][] = count($datas); $model_num++; } }else{$models = getcache('model', 'commons'); foreach($models as $model){$this->db->set_model($model['modelid']); $datas = $this->db->select('', '*', $num, $order); $data[$model['modelid']]['data'] = $datas; // 记录本次的文章数$data['num'][] = count($datas); $model_num++; }}if($data){// 获取每个模型应该截取的条数$num = ceil($num/$model_num);// 循环条数记录用于找出条数不满足的数量然后进行平均 $w_num = $w_num_t = '';foreach($data['num'] as $num_t){ if($num_t < $num){$w_num += $num-$num_t; $w_num_t++; }}// 判断是否有不满足平均数的 如果有那么就增加平均值 if($w_num_t){$num += ceil($w_num/($model_num-$w_num_t)); }$datas = array(); foreach($data as $r){ $r_n = '';if(is_array($r['data'])) foreach($r['data'] as $r_t){ $datas[] = $r_t;if(++$r_n == $num)break; } }return $datas; }else{return false;}}

    其实就和默认的文章列表调用差不多

    代码如下:

    {pc:content action="newcontent" }

    参数说明:catid: 可有可无 加了就只调用指定栏目的信息 多个栏目请使用英文半角的 ,间隔order:排序 参数值:1-7 具体的含义在代码里面很容易看明白 不祥述num:调用数量 不指定默认调用20条

  • 本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

    发表评论

    热门推荐