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

Posted ninama

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了p​h​p​c​m​s​栏目调用详解相关的知识,希望对你有一定的参考价值。

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

下面做总结,方便大家找到在内容页想调用的东西
当前栏目id:                       $catid
当前栏目名:                       $CATEGORYS[$catid][catname]
当前栏目目录名:               $CATEGORYS[$catid][catdir]
当前栏目url:                       $CATEGORYS[$catid][url]
当前栏目位置(面包屑导航):    首页 > catpos($catid)
正文 当前栏目描述:                 $CATEGORYS[$catid][description] 
当前栏目图片:                 <img src="$CATEGORYS[$catid][image]" />
当前栏目的内容数:            $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 
      <li><a href=”$v[url]”>$v[title]</a></li> /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 
点击数——<span id=”hits”></span>  
 
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 
<li><a href=”$r[url]”>$r[catname]</a></li>
/loop
/pc 

同级栏目列表 

pc:content action=”category” catid=”$parentid” num=”12″ siteid=”$siteid” order=”listorder ASC” 
loop $data $r 
<li><a href=”$r[url]”>$r[catname]</a></li>
/loop
/pc 

组图列表 

loop $photos $r 
<li><a href=”$r[url]”><img src=”thumb($r[url], 75, 45, 0)” alt=”$r[alt]” /></a></li>
/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 = ($data[\'limit\']) ? ($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 = (\',\', $data[\'catid\']);  foreach($catids as $catid)  $catid = ($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\'][] = ($datas);  $model_num++;    
  
if($data)  
// 获取每个模型应该截取的条数  
$num = ($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 += ($w_num/($model_num-$w_num_t));    
$datas = array();  foreach($data as $r)  $r_n = \'\';  
if(($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条

以上是关于p​h​p​c​m​s​栏目调用详解的主要内容,如果未能解决你的问题,请参考以下文章

C语言指针问题

求助!C语言用指针函数实现十进制转,十六进制,八进制,二进制

xcopy用法

phpcms v9模板制作常用代码集合(转)

编译正则表达式

有以下程序#include<stdio.h> main() int c[6]=10,20,30,40,50,60,*p,*s; p=a; s=&c[5]; printf("%d