phpcms栏目调用详解
Posted ninama
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了phpcms栏目调用详解相关的知识,希望对你有一定的参考价值。
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条
以上是关于phpcms栏目调用详解的主要内容,如果未能解决你的问题,请参考以下文章
求助!C语言用指针函数实现十进制转,十六进制,八进制,二进制
有以下程序#include<stdio.h> main() int c[6]=10,20,30,40,50,60,*p,*s; p=a; s=&c[5]; printf("%d