phpcms栏目调用详解

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}

 
2.标签phpcms v9 
 
调用根目录下phpcms\template\content\header文件 :
{template “content”,”header”}
 
字符集 (gbk或者utf-8) :
{CHARSET}   
 
标题和标题seo优化:

复制代码
代码如下:

{if isset($SEO['title']) && !empty($SEO['title'])}
{$SEO['title']}
{/if}
{$SEO['site_title']}
{$SEO['keyword']}
{$SEO['description']}

地址替换为根目录下\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}
  • ”{$r[alt]}”

  • {/loop}

     
    注释:
    其中$photos为自定义组图字段,
    {$r[url]}为图片地址,
    {thumb($r[url], 75, 45, 0)}为图片缩略图,
    {$r[alt]}为图片描述  
     
    4.phpcms v9调用全站最新文章功能代码 
     
    第一步
    修改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条

    你可能感兴趣的:(phpcms栏目调用详解)