phpcms首页调用子栏目 首页这块儿 怎么调用标签?

接触phpcms2008后感觉这套程序功能特别方便,不但可以调用本系统内的数据而且还可以调用外部数据库的数据,对于phpcms其中有一个重要的标签get(只适用熟悉SQL的用户使用),对于get的标签可以调用出数据库所有想调用的数据(也可以成为万能标签),下面对get标签做了一个总结,有get标签的基本调用方法、get标签的常用调用方法及get标签的特殊调用方法(注意:get标签属性值必须用双引号括起来)。
一、get标签基本调用方法
(1) 调用本系统单条数据,示例(调用ID为1的信息,标题长度不超过25个汉字,显示更新日期):
{get sql=&select * from phpcms_content where contentid=1&}
&&&&标题:{str_cut($r[title],50)} URL:{$r[url]} 更新日期:{date('Y-m-d',$r[updatetime])}
(2) 调用本系统多条数据,示例(调用栏目ID为1通过审核的10条信息,标题长度不超过25个汉字,显示更新日期):
{get sql=&select * from phpcms_content where catid=1 and status=99 order by updatetime desc& rows=&10&}
&&&&标题:{str_cut($r[title],50)} URL:{$r[url] 更新日期:{date('Y-m-d',$r[updatetime])}
(3) 调用本系统多条数据带分页,示例(调用栏目ID为1通过审核的10条信息,标题长度不超过25个汉字,显示更新日期,带分页):
{get sql=&select * from phpcms_cotent where catid=1 and status=99 order by updatetime desc& rows=&10& page=&$page&}
&&&&标题:{str_cut($r[title],50)} URL:{$r[url]} 更新日期:{$date('Y-m-d',$r[updatetime]}
分页:{$pages}
(4) 自定义返回变量,示例(调用栏目ID为1通过审核的10条信息,标题长度不超过25个汉字,显示更新日期,带分页):
{get sql=&select *from phpcms_content where catid=1 and status=99 order by updatetime desc& rows=&10& return=&$v&}
&&&&标题:{str_cut($v[title],50)} URL:{$v[url]} 更新日期:{date('Y-m-d',$v[updatetime])}
(5) 调用同一帐号下的其他数据库,示例(调用数据库为bbs,分类ID为1的10个最新主题,主题长度不超过25个汉字,显示更新日期):
{get dbname=&bbs& sql=&select * from cdb_threads where fid=1 order by dateline desc& rows=&10&}
&&&&主题:{str_cut($r[subject], 50)} URL:/viewthread.php?tid={$r[tid]} 更新日期:{date('Y-m-d',$r[dateline])}
(6) 调用外部数据,示例(调用数据源为bbs,分类ID为1的10个最新主题,主题长度不超过25个汉字,显示更新日期):
{get dbsource=&bbs& sql=&select * from cdb_threads where fid=1 order by dateline desc& rows=&10&}
&&&&主题:{str_cut($r[subject], 50)} URL:/viewthread.php?tid={$r[tid]} 更新日期:{date('Y-m-d',$r[dateline])}
(7) 调用ecshop数据,示例(调用数据源为ecshop,调用产品库中最新的5个产品):
{get dbsource=&ecshop& sql=&SELECT `goods_id`,`goods_name`,`goods_thumb` FROM `ecs_goods` ORDER BY `goods_id` DESC& rows=&5& }
&&&&产品ID:{$r[goods_id]} 名称:{$r[goods_name]} 产品图片:{$r[goods_thumb]}
(8) 调用问答多条数据,示例(调用栏目ID为1的10条信息,标题长度不超过25,显示更新日期):
{get sql=&select * from phpcms_ask& row=&6&}
&&&&标题:{$r[title]} URL:/ask/show.php?id={$r[askid]} 更新日期:{date('Y-m-d', $r[updatetime])}
二、get标签常用调用方法
(1) 调用一个栏目下的最新,带缩略图的文章,同时调用出起内容简介(多个栏目ID调用)
{get sql=&select * from phpcms_content where catid&=79 and catid&=85 and status=99 and posids=1 and `thumb`!='' order by updatetime desc& rows=&10&}
&&&&URL:{$r[url]} 标题:{str_cut($r[title], 40)} 缩略图:{thumb($r[thumb], 110, 75)} 描述:{str_cut($r[description],100)}
  注解:(catid&=79 and catid&=85 栏目ID大于等于75并且栏目id小于等于85,也就是调用栏目ID75 76 77 78 79 80 81 82 83 84 85的文章;posids=1 文章类型为首页推荐;status=99 文章已经通过审核;`thumb`!='' 缩略图不为空,也就是必须要有缩略图;{$r[url]} 内容页的地址;{str_cut($r[title], 40)} 文章标题,长度限制为40;{thumb($r[thumb], 110, 75)} 缩略图地址 缩略图大小限制为width=110px height=75{str_cut($r[description],100) 文章简介调用 简介长度为100。)
(2) 调用多个栏目ID,(栏目ID为不连续ID)
{get sql=&select * from phpcms_content where catid&=79 and catid&=85 or catid=95 order by updatetime desc& rows=&10&}
&&&&URL:{$r[url]} 标题:{str_cut($r[title], 38)}
  注解:(其中使用了catid&=XX and catid&=XX 如果现在要加入catid95,那么就不能在用and了,而应该使用or。)
(3) 使用get调用 栏目名及其相对应的栏目地址
{get sql=&select * from phpcms_content where catid&=52 and catid&=55 or catid=50 or catid=77 or catid=78 order by updatetime desc& rows=&6&}
&&&&栏目URL:{$CATEGORY[$r[catid]][url]} 栏目名:{str_cut($CATEGORY[$r[catid]][catname],4)} 文章URL:{$r[url]} 文章标题{str_cut($r[title], 38)}
(4) 调用后台设置的标题颜色
{get sql=&select * from 99inet_content where catid=40 and status=99 order by updatetime desc& rows=&7&}
&&&&时间:{date('m-d', $r[updatetime])} URL:{$r[url]} 判断标题颜色:{if $r[style]} {str_cut($r[title], 22)}{else}{str_cut($r[title], 22)}{/if}
(5) 调用条数限制,limit参数
{get sql=&select * from phpcms_content where catid=39 and status=99 order by updatetime desc limit 2,7&}
&&&&时间:{date('m-d', $r[updatetime])} URL:{$r[url]} 标题:{if $r[style]}{str_cut($r[title], 22)}{else}{str_cut($r[title], 22)}{/if}
(6) 使用get在栏目首页调用所有文章模型的文章
{get sql=&SELECT contentid,catid,typeid,areaid,title,style,thumb,keywords,description,userid,updatetime,inputtime,url FROM `yimi_content` WHERE status=99 &.get_sql_catid($cid).& ORDER BY contentid DESC& rows=&40&}
&&&&URL:{$r[url]} 标题:{$r[title]}
(7) 栏目首页调用所有子栏目内容
{get sql=&SELECT * FROM `phpcms_content` c,`phpcms_content_count` n WHERE c.contentid=n.contentid AND c.`status`=99 and catid in (39,40,41,42,43,44,45,46,47,48,66,68,69,70,71,72,73,74,75,76) ORDER BY contentid DESC& rows=&10&}
&&&&URL:{$r[url]} 标题:{$r[title]}
三、get标签特殊调用方法
(1) 调用一周内点击率排行榜,示例(调用站内点击率最高的通过审核的10条信息,标题长度不超过25个汉字):
{get sql=&SELECT * FROM `phpcms_content` c,`phpcms_content_count` n WHERE updatetime&'.TIME.'-7*86400 and c.contentid=n.contentid AND c.`status`=99 and catid='$catid' '.get_sql_catid($catid).' ORDER BY n.hits DESC& rows=&10&}
&&&&URL:{$r[url]} 标题:{str_cut($r[title], 50)}
(2) 调用一周内的评论排行榜,示例(调用站评论排行最高的通过审核的10条信息,标题长度不超过25个汉字):
{get sql=&SELECT * FROM `phpcms_content` c,`phpcms_content_count` n WHERE updatetime&'.TIME.'-7*86400 and c.contentid=n.contentid AND c.`status`=99 and catid='$catid' '.get_sql_catid($catid).' ORDER ments DESC& rows=&10&}
&&&&URL:{$r[url]} 标题:{str_cut($r[title], 50)}
(3) 调用图片推荐内容
{get sql=&SELECT * FROM `phpcms_content` a, `phpcms_c_news` b WHERE a.contentid=b.contentid AND `status`=99 AND `thumb`!='' AND a.`contentid` IN(SELECT `contentid` FROM `phpcms_content_position` WHERE `posid`='10') &.get_sql_catid($catid).& ORDER BY a.contentid DESC& rows=&10&}
&&&&URL:{$r[url]} 缩略图:{thumb($r[thumb], 130, 90)} 带颜色的标题:{if $r[style]}{str_cut($r[title], 800,'')}{else}{str_cut($r[title], 800,'')}{/if}
(4) DIGG排行榜的GET标签
{get sql=&SELECT * FROM phpcms_content c,phpcms_digg d WHERE c.contentid=d.contentid AND c.status=99 ORDER BY d.supports DESC& rows=&8&}
&&&&{$r[supports]} URL:{$r[url]} 标题:{str_cut($r[title], 88)}
(5) 只调用新闻模型且推荐ID为7的新闻
{get sql=&SELECT * FROM phpcms_content c,phpcms_c_news n,phpcms_content_position p WHERE c.contentid=n.contentid and c.contentid=p.contentid and posid=7 and `status`=99 ORDER BY inputtime DESC& rows=&10&}
&&&&URL:{$r[url]} 标题:{str_cut($r[title], 88)}
(6) 调用相关新闻
{get sql=&SELECT * FROM phpcms_content c,phpcms_content_tag t WHERE c.contentid!='$contentid' and c.contentid=t.contentid and c.status=99 AND t.tag IN('.get_sql_in($r[keywords]).') ORDER BY c.contentid DESC& rows=&10&}
&&&&URL:{$r[url]} 标题:{str_cut($r[title], 88)}PHPCMS 中怎么做调用分页标签不显示效果了在线等.....麻烦知道的进!
[问题点数:20分,无满意结帖,结帖人lsd]
PHPCMS 中怎么做调用分页标签不显示效果了在线等.....麻烦知道的进!
[问题点数:20分,无满意结帖,结帖人lsd]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关推荐:
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。游侠安全网——专注:网络安全、系统安全、应用安全、数据库安全、运维安全,趋势分析。
PHPCMS v9最实用的23个调用代码
浏览: 3,619 views
摘要: 今天懒鱼分享phpcms v9最实用的23个调用代码,有用就转走吧,可以大大加快你的开发效率。
1、调用最新文章,带所在版块;
{pc:get sql="SELECT a.title, a.catid, b.catid, b.catname, a.url as...
今天懒鱼分享phpcms v9最实用的23个调用代码,有用就转走吧,可以大大加快你的开发效率。
1、调用最新文章,带所在版块;
{pc:get sql="SELECT a.title, a.catid, b.catid, b.catname, a.url as turl ,b.url as curl,a.id FROM `v9_news` a, `v9_category` b WHERE a.catid = b.catid ORDER BY `a`.`id` DESC "num="15" cache="300"}
{loop $data $r}
[{$r[catname]}] {str_cut($r['title'],26)}
2、截取调用标题长度;
{str_cut($v['title'],34)} -----超出用 ... 代替
{str_cut($v['title'],34, '???')}-----超出用 ???代替
{str_cut($v['title'],34,'')}-----超出不用任何字符代替
3、格式化时间调用;
{date('Y-m-d H:i:s',$r[inputtime])}-----:11:22:33
{date('m-d',$v['inputtime'])}------07-25
4、多栏目调用&多推荐位调用调用需求:文章范围为59 60 61三个栏目,并且推送到了27 和28两个推荐位;从第三条开始,连续调用7篇文章。
{pc:get sql="SELECT * FROM v9_news WHERE id IN (SELECT id FROM v9_position_data WHERE posidin(27,28) and catid in(59,60,61)) order by listorder DESC" cache="3600" start="3" num="7"return="data" }
{loop $data $n $r}
·{str_cut($r[title],22,'')}
5、显示栏目名称;
{$catname}-----只显示名称不带链接
{$CATEGORYS[$r['catid']]['catname']}-----显示栏目名称和链接
6、获取父栏目id/获取父栏目名称;
{$CATEGORY[$catid][parentid]}-----父栏目ID
{$CATEGORYS[$CAT[parentid]][catname]}-----父栏目名称
7、外部数据源调用dedecmsdb 在后台数据源处添加;
{pc:get sql="SELECT * FROM cq_member where mtype='企业' " cache="3600" dbsource="dedecmsdb"num="7" return="data"}
{loop $data $r}
{str_cut($r[uname],28,'')}
8、调用子栏目(在栏目首页模板需要用到);
{pc:content action="category" catid="$catid" num="25" siteid="$siteid" order="listorderASC"}
{loop $data $r}
{$r[catname]} |{/loop}
9、显示指定id的栏目名称;
{$CATEGORYS[22]['catname']}
10、在文章面前显示文章类别;
{pc:content action="lists" catid="79" order="listorder DESC" num="14" }
{loop $data $n $r}
{if $TYPE[$r[typeid]][name]}[ {$TYPE[$r[typeid]][name]}]
{/if}{str_cut($r[title],33,'')}
11、指定变量循环增长(幻灯片经常用到);
{pc:content action="lists" catid="66" order="listorder DESC" thumb="1" num="5" }
{php $num = 0}
{loop $data $r}
linkarr[{$num}] = "{$r[url]}";picarr[{$num}] = "{$r[thumb]}";textarr[{$num}] = "{str_cut($r[title],36,'')}";
{php $num++}
12、文章调用使用limit;
{pc:content action="position" posid="31" order="listorder DESC"
limit='1,8--'}
{loop $data $r}
{str_cut($r[title],36,'')}
13、文章从指定位置开始调用起始位置为5,调用3条;
{pc:content action="position" posid="27" order="listorder DESC" num="3" start="5"}
{loop $data $r}
{str_cut($r[description],115)}...
14、文章列表页调用关键字,或者首页调用关键字注意:explode(‘,’,$r[keywords]);是将文章关键词通过英文逗号分离,也就是说每一篇文章都要以逗号间隔关键字,否则调用出来会 是全部作为一个关键字。如果是空格间隔关键字,将explode(‘,’,$r[keywords]);改成explode(‘ ‘,$r[keywords]);
{pc:content action="lists" catid="$catid" num="10" order="id DESC" page="$page"}
{loop $data $r}
{$r[title]}
{php $keywords = explode(',',$r[keywords]);}
{loop $keywords $keyword}
{$keyword}
15、每当列表几行的时候出现一次某些符号(比如首页里面的文章推荐,一行显示两条,在这两条中间想加一条竖线 | 就用到这个代码了)数量大的话就容易出错,因为模运算嘛~~呵呵 不过一般也就4个标题以下;
{pc:content action="position" posid="8" order="listorder DESC" num="2"}
{loop $data $r}
{str_cut($r[title],26,'')}{if $n%2==1} |{/if}
16、v9 列表页完美支持自定义段调用;
{pc:content action="lists" catid="$catid" num="25" order="id DESC" page="$page"moreinfo="1"}
{loop $data $r}
[{$r['字段名']}]& {$r[title]}
17、当前栏目调用父级及以下栏目信息方法其他代码;
{php $arrchildid = $CATEGORYS[$CAT[parentid]][arrchildid]}
{pc:get sql="SELECT * FROM v9_news where catid in($arrchildid) cache="3600" page="$page"num="12" return="data"}
18、V9表单功能 提交之后如何返回当前页面,而不是默认的首页文件地址;
找到 phpcms\modules\formguide\index.php文件第73行
showmessage(L('thanks'), APP_PATH);
修改成 如下代码即可实现自动返回前一页
showmessage(L('thanks'), HTTP_REFERER);
19、v9 首页或分页自定义字段调用和15差不多第一普通列表或栏目调用自定义字段在{pc:content action=”lists” 后加上副表moreinfo=1 (等于1时显示,0时不显示)例子:
{pc:content action="lists" moreinfo=1 catid="2" order="id DESC" num="4"}
{loop $data $key $val}
{$val['title']}
价格:{str_cut($v['自定义段'],100)} //100 是字数
20、第二种推荐位调用自定义字段在模型里加好自定义字段后,必须把“在推荐位标签中调用”点击“是“然后用同一样的方法去调节数据就OK了,记住,如果你加了文章,必须去更新文章才会显示,自定义段在推荐中只显示你选择后,选择前加的加文章不显示,更新一下文章就显示了例子:
{pc:content action="position" posid="推荐位id" num="30" thumb="1" moreinfo="1"order="listorder DESC"}
{loop $data $key $val}
{str_cut($val['title'],20)}
21、编辑器上传图片自动使用标题作为alt参数;
一: 修改 statics/js/ckeditor/plugins/image/dialogs/image.js找到accessKey:'T','default':''
替换成accessKey:'T','default'('#title').val()
二: 清除浏览器缓存
22、增加文章的随机点击数;
找到100行的$views = $r['views'] +1修改为:
$rand_nums=rand(79,186);
$views = $r['views'] + $rand_
表示点击一次,增加79到186次不等
23、PHPCMS V9的get标签调用;
1、调用本系统单条数据,示例(调用ID为1的信息,标题长度不超过25个汉字,显示更新日期):
{get sql="select * from phpcms_content where contentid=1" /}
标题:{str_cut($r[title], 50)}
URL:{$r[url]}
更新日期:{date('Y-m-d', $r[updatetime])}
2、调用本系统多条数据,示例(调用栏目ID为1通过审核的10条信息,标题长度不超过25个汉字,显示更新日期):
{get sql="select * from phpcms_content where catid=1 and status=99 order by updatetime desc"rows="10"}
标题:{str_cut($r[title], 50)}
URL:{$r[url]}
更新日期:{date('Y-m-d', $r[updatetime])}
3、带分页,示例(调用栏目ID为1通过审核的10条信息,标题长度不超过25个汉字,显示更新日期,带分页):
{get sql="select * from phpcms_content where catid=1 and status=99 order by updatetime desc"rows="10" page="$page"}
标题:{str_cut($r[title], 50)}
URL:{$r[url]}
更新日期:{date('Y-m-d', $r[updatetime])}
分页:{$pages}
原文:/phpcms-23-label-code.html
版权所有: 非特殊声明均为本站原创文章,转载请注明出处:
订阅更新: 您可以通过
站长电邮:
欢迎: ·
新浪微博:
最多关注全部本月本周
陕ICP备号-2当前访客身份:游客 [
这个人很懒,啥也没写
:好详细,大爱。
:引用来自“陈子傲”的评论 引用来自“Neoman”的...
:引用来自“Neoman”的评论 原理?? 就是创建一个...
:原理??
:哦,明天测试下。
:用session记录ip(ip毫无意义),有没有想过只能...
:不错,不过我很少用到
:mb_substr或者preg_math搞定更简单...
:楼主,我有一个疑问, var a = 1; function b() ...
今日访问:12
昨日访问:56
本周访问:108
本月访问:163
所有访问:19350
phpcms V9修改lists标签(实现调用文章所属栏目及点击数)
发表于2年前( 06:45)&&
阅读(1109)&|&评论()
0人收藏此文章,
phpcms中默认首页是无法调用出文章的点击数,而调用文章所属的栏目名称也很复杂,需要先使用php语句进行数据缓存后才能调用。其实我们可以一步到位,自己添加函数来实现在首页/频道页/列表页调用文章点击数及文章所属栏目名称。
实现步骤:
①打开\phpcms\modules\content\classes\content_tag.class.php文件;
②搜索“列表页标签”,即lists标签函数,应该在文件的56行左右,把lists标签函数的整段调用代码修改如下:
* 列表页标签
* @param $data
publicfunction lists($data) {
$catid = intval($data['catid']);
if(!$this-&set_modelid($catid))
if(isset($data['where'])) {
$sql = $data['where'];
$thumb = intval($data['thumb']) ? & AND thumb != ''& : '';
if($this-&category[$catid]['child']) {
$catids_str = $this-&category[$catid]['arrchildid'];
$pos = strpos($catids_str,',')+1;
$catids_str = substr($catids_str, $pos);
$sql = &status=99 AND catid IN ($catids_str)&.$
$sql = &status=99 AND catid='$catid'&.$
$order = $data['order'];
$return = $this-&db-&select($sql, '*', $data['limit'], $order, '', 'id');
//二次开发
foreach($returnas &$r){
$h_md=pc_base::load_model('hits_model');
$get_db=$h_md-&get_one(array('hitsid'=&&c-&.$this-&db-&modelid.&-&.$r[id]));
$r['views']=$get_db[views];
$c_md=pc_base::load_model('category_model');
$c_data = $c_md-&get_one(array('catid'=&$r[catid]));
$r['catname']=$c_data[catname];
//原文无此段落 原因:列表获得浏览次数==
/* 2013年4月
* {loop $data $r}
* {$r[catname]}-{$r[title]}-{$r[views]}
//调用副表的数据
if (isset($data['moreinfo']) && intval($data['moreinfo']) == 1) {
$ids = array();
foreach ($returnas$v) {
if (isset($v['id']) && !emptyempty($v['id'])) {
$ids[] = $v['id'];
if (!emptyempty($ids)) {
$this-&db-&table_name = $this-&db-&table_name.'_data';
$ids = implode('\',\'', $ids);
$r = $this-&db-&select(&`id` IN ('$ids')&, '*', '', '', '', 'id');
if (!emptyempty($r)) {
foreach ($ras$k=&$v) {
if (isset($return[$k])) $return[$k] = array_merge($v, $return[$k]);
} 以上函数中标注了新添加标签的函数代码,即23行至38行;
③前端页面模板调用代码的方法(示例)已经在上述函数代码里标明,我再重新说一下:
{loop $data$r}
{$r[catname]}-{$r[title]}-{$r[views]}
更多开发者职位上
1)">1)">1" ng-class="{current:{{currentPage==page}}}" ng-repeat="page in pages"><li class='page' ng-if="(endIndex<li class='page next' ng-if="(currentPage
相关文章阅读{$inputtime}
点击: id=&hits&次(需加载{app_path}jquery.min.js)
language=&JavaScript& src=&{APP_PATH}api.php?op=count&id={$id}&modelid={$modelid}&
{pc:content action=&relation& relation=&$relation& id=&$id& catid=&$catid& num=&5& keywords=&$rs[keywords]&}
{if $data}
{loop $data $r}
href=&{$r[url]}& target=&_blank&{$r[title]}{date('Y-m-d',$r[inputtime])}
{/pc}{$inputtime}
{pc:content
action=&hits& catid=&$catid& num=&10& order=&views DESC& cache=&3600&}
{loop $data $r}
href=&{$r[url]}& target=&_blank& title=&{$r[title]}&{str_cut($r[title], 28, '')}
href=&{siteurl($siteid)}&首页 & {catpos($catid)} 正文
href=&{$CAT[url]}&{$CAT[catname]}
{$content}
{$copyfrom}
上一篇: href=&{$previous_page[url]}&{$previous_page[title]}
下一篇: href=&{$next_page[url]}&{$next_page[title]}
{if $voteid} language=&javascript& src=&{APP_PATH}index.php?m=vote&c=index&a=show&action=js&subjectid={$voteid}&type=2&{/if}
{if $allow_comment}
src=&{APP_PATH}index.php?m=comment&c=index&a=init&commentid={id_encode(&content_$catid&,$id,$siteid)}&iframe=1& width=&100%& height=&100%& id=&comment_iframe& frameborder=&0& scrolling=&no&
{pc:comment action=&bang& siteid=&$siteid& cache=&3600&}
{loop $data $r}
href=&{$r[url]}& target=&_blank&{str_cut($r[title], 40)}({$r[total]})
href=&javascript:;& onclick=&add_favorite('{$title}');& class=&t6&收藏
文件/多文件地址& 【$自定义字段名】
{loop $downfile $r}
{loop $downfiles $r}
版权声明:本文为博主原创文章,未经博主允许不得转载。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:179222次
积分:4178
积分:4178
排名:第3593名
原创:220篇
评论:10条
阅读:8710
(1)(2)(2)(2)(1)(5)(10)(2)(7)(3)(2)(1)(2)(3)(8)(28)(12)(9)(12)(19)(30)(4)(6)(20)(29)

我要回帖

更多关于 phpcms首页调用子栏目 的文章

 

随机推荐