1、基本标签:
{thumb($r[thumb],110,0)} //缩略图,loop是info的时候用
{thumb($v[thumb],90,0)} //缩略图,loop是data的时候用
{$v['url']} //路径
{$v['title']} //标题
{$v['keywords']} //关键词
{CHARSET} //字符集(gbk或者utf-8)
{str_cut($v['description'],60)} //截取描述
{str_cut($v['title'],60)} //截取标题
{str_cut($v['content'],60)} //截取内容
{date("Y-m-d",$v['inputtime'])} //解析添加时间
{$CATEGORYS['139'][catname]} //获取栏目ID为139的栏目名称
{$CATEGORYS['141'][url]} //获取栏目ID为141的栏目路径
{siteurl($siteid)} //首页
{catpos($catid)} //当前位置
{$CAT[catname]} //栏目名称
{$CAT[letter]} //栏目拼音
{$CAT[url]} //栏目链接
{$CATEGORYS[$CAT[parentid]][catname]} //父栏目名称
{$CATEGORYS[$CAT[parentid]][url]} //父栏目链接
{$CATEGORY[$catid][parentid]} //父栏目id
{$CATEGORYS[$catid]['catname']} //指定栏目名称
{$CATEGORYS[$CATEGORYS[$CAT[parentid]][parentid]][catname]} //上上级栏目名称
{$CATEGORYS[$CATEGORYS[$CAT[parentid]][parentid]][url]} //上上级栏目链接
{template "content","header"} //包含头部文件
{template "content","footer"} //包含底部文件
{IMG_PATH}n_images === /statics/images/n_images
{JS_PATH}n_js === /statics/js/n_css
{CSS_PATH}n_css === /statics/css/n_css
{tjcode()} //统计
2、 更多文章:
{$CATEGORYS['12'][url]}或<a href="{APP_PATH}index.php?m=content&c=index&a=lists&catid=79"></a>
更多专题:
<a href="{APP_PATH}index.php?m=special&c=index&a=special&siteid={$siteid}"></a>
更多投票:
<a href="{APP_PATH}index.php?m=vote&c=index&siteid={$siteid}"></a>
更多友情链接:
<a href="{APP_PATH}index.php?m=link&siteid={$siteid}" hidefocus="true" class="rt"></a>
3、显示一周内添加的图片:
{if time()-$r[inputtime]<7*24*3600}<img src='/statics/images/new.gif' />{/if}
4、碎片:
{pc:block pos="scroll"}{/pc}
5、a、推荐位调用:
{pc:content action="position" posid="1" order="listorder DESC" num="5"}
{loop $data $r}
<li><a href="{$r[url]}" target="_blank"><img src="{$r[thumb]}" text="{$r[title]}" alt="{$r[title]}" width="727" height='243' /></a></li>
{/loop}
{/pc}
b、内容调用:
{pc:content action="lists" catid="162" order="id ASC" num="1"}
{loop $data $v}
{/loop}
{/pc}
c、一级栏目调用(导航栏):
{pc:content action="category" catid="0" num="8" siteid="$siteid" order="listorder ASC"}
{loop $data $r}
<li><a href="{$r[url]}" title="{$r[catname]}">{$r[catname]}</a></li>
{/loop}
{/pc}
d、当前栏目风格:
{if $catid==$r[catid]} class="current"{/if}
e、在文章前显示文章分类名:
{pc:content action="lists" catid="2" order="listorder DESC" num="14" }
<?php $TYPE = getcache('type_content','commons');?>
{loop $data $n $r}
<li>{if $TYPE[$r[typeid]][name]}<span style="color:#CC6600">[ {$TYPE[$r[typeid]][name]}] </span>{/if}<a href="{$r['url']}" title="{$r['title']}" target="_blank">{str_cut($r[title],33,'')}</a></li>
{/loop}
{/pc}
f、指定变量循环增长(幻灯片调用):
{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++}
{/loop}
{/pc}
g、文章从指定位置调用:num=“3” start=“5” (可配合pc:get标签使用)
h、文章列表页调用关键字,或者首页调用关键字:
{pc:content action="lists" catid="$catid" num="10" order="id DESC" page="$page"}
{loop $data $r}
<a href="{$r[url]}">{$r[title]}</a>
{php $keywords = explode(',',$r[keywords]);}
<b>文章标签:</b>
{loop $keywords $keyword}
<a href="{APP_PATH}index.php?m=content&c=tag&catid={$catid}&tag={urlencode($keyword)}" class="blue"> {$keyword}</a>
{/loop}
{/loop}
{/pc}
i、列表偶数行出现|符号:
{if $n%2==0}|{/if}
6、-------------------列表页调用-------------------------
a、当前位置显示:
<div>当前位置:<a href="{siteurl($siteid)}"> 首页 </a> >
<a href="{$CATEGORYS[$CAT[parentid]][url]}" target="_blank"> {$CATEGORYS[$CAT[parentid]][catname]}</a> >
<a href="{$CAT[url]}"> {$CAT[catname]} </a> > <a href='javascript:void(0)'> {$title} </a>
</div>
b、其他常用调用:
{$r[description]}
{$r[image]}
7、列表内容显示(带分页):
<div class="news_list2">
<ul>
{pc:content action="lists" catid="$catid" num="20" order="id DESC" page="$page"}
{loop $data $r}
<li><span class="date">{date('Y-m-d H:i:s',$r[inputtime])}</span><a href="{$r[url]}" target="_blank" title="{$r[title]}">{$r[title]}</a></li>
{/loop}
</ul>
<div id="pages" class="text-c">{$pages}</div>
{/pc}
</div>
8、显示该栏目下的子栏目:
{if $top_parentid}
{pc:content action="category" catid="$top_parentid" num="15" siteid="$siteid" order="listorder ASC"}
{loop $data $r}
<li><a href="{$r[url]}">{$r[catname]}</a></li>
{/loop}
{/pc}
{/if}
9、如果栏目下面没有子类,那么显示一级分类
<?php
if($top_parentid==""){
?>
{pc:content action="category" catid="0" num="100" siteid="$siteid" order="listorder ASC"}
{loop $data $r}
<li><a href="{$r[url]}">{$r[catname]}</a></li>
{/loop}
{/pc}
<?php }else{ ?>
{pc:content action="category" catid="$top_parentid" num="100" siteid="$siteid" order="listorder ASC"}
{loop $data $r}
<li><a href="{$r[url]}">{$r[catname]}</a></li>
{/loop}
{/pc}
<?php } ?>
10、频道页:
{php $j=1;}
{loop subcat($catid) $v}//subcat()获取子栏目
{php if($v['type']!=0) continue;}
<div class="cat_name"><span class="Nmore"><a href="{$v[url]}">更多»</a></span>{$v[catname]}</div>
<div class="news_list2">
<ul>
{pc:content action="lists" catid="$v[catid]" num="5" order="id DESC"}
{loop $data $r}
<li><span class="date">{date('Y-m-d',$r[inputtime])}</span><a href="{$r[url]}" target="_blank" title="{$r[title]}">{$r[title]}</a></li>
{/loop}
{/pc}
</ul>
</div>
<div class="cl"></div>
{$j++}
{/loop}
如果想调用五个栏目内容的话,在{$j++}下面加入:
{php if ($j>=5) break;}
如果要排除某个栏目的循环,可以在{php if($v[‘type’]!=0) continue;}下面加入:
{php if($v['catid']==7) continue;}
或:
{php if($r['catid']==9 || $r['catid']==10 || $r['catid']==11)continue;}
11、---------------------文章内容页-------------------
a、显示内容:
{$title} //标题
{$inputtime} //添加时间
{$content} //内容
{$copyfrom} //来源
{$thumb} //缩略图
b、父级所属栏目:
{$CATEGORYS[$CAT[parentid]][catname]}
c、父级所属栏目URL:
{$CATEGORYS[$CAT[parentid]][url]}
b、当前所属栏目:
{$CAT[catname]}
c、当前所属栏目URL:
{$CAT[url]}
d、获取多文件类型上传的第一个文件地址:
{php eval("\$arr=" . $r[upload] . ";");echo $arr[0]['fileurl'];}
12、浏览次数(点击量):
<span id="hits"></span>次
<script language="JavaScript" src="{APP_PATH}api.php?op=count&id={$id}&modelid={$modelid}"></script>
13、组图列表:
{loop $photos $r}
<li><a href="{$r[url]}"><img src="{thumb($r[url], 75, 45, 0)}" alt="{$r[alt]}" /></a></li>
{/loop}
14、显示上一篇和下一篇:
<p class="f14">
<strong>上一篇:</strong><a href="{$previous_page[url]}">{$previous_page[title]}</a><br />
<strong>下一篇:</strong><a href="{$next_page[url]}">{$next_page[title]}</a>
</p>
get实现上一篇和下一篇的完美解决方案:
<div class="left"> //phpcms_content是phpcms2008中的表
{get sql="SELECT * FROM `phpcms_content` WHERE contentid>$contentid AND catid=$catid ORDER BY updatetime DESC" rows="1"}
{php $front=1;}
上一条:<a href="{$r[url]}" titile="{$r[title]}">{str_cut($r[title],50)}</a>
{/get}
{if $front!=1}
上一条:没有了
{/if}
</div>
<div class="right">
{get sql="SELECT * FROM `phpcms_content` WHERE contentid<$contentid AND catid=$catid ORDER BY updatetime DESC" rows="1"}
{php $next=1;}
下一条:<a href="{$r[url]}" titile="{$r[title]}">{str_cut($r[title],50)}</a>
{/get}
{if $next!=1}
下一条:没有了
{/if}
</div>
15、文章内容分页:
<div id="pages" class="text-c">{$pages}</div>
16、加载评论:
{if $allow_comment && module_exists('comment')}
<iframe 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"></iframe>
{/if}
17、-----------PC:get语句调用数据---------------
用pc:get时的记录条数时分页显示:
解决办法一:
{pc:get sql="SELECT title,url FROM v9_news where catid=9 and status=99 order by updatetime desc" start="0" num="4" return="v"}
解决办法二:
{pc:get sql="SELECT title,url FROM v9_news where catid=9 and status=99 order by updatetime desc limit 0,4--" return="v"}
18、在首页某模型所有栏目最新文章调用带栏目名称
{pc:get sql="select * from v9_convert_news where status=99 order by id desc" num="11"}
{loop $data $v}
<li style="text-align:center;"><a href="{$CATEGORYS[$v[catid]][url]}" style="font-size:12px; color:#F30">{str_cut($CATEGORYS[$v[catid]][catname],45,'...')}</a></li>
<li style="width:280px;">
| <a href="{$v['url']}" title="{$r[title]}" target="_blank">{str_cut($v[title],90)}</a></li>
{/loop}
{/pc}
19、---------------------友情链接-----------------------------------------------------------------------
方法一:
{pc:link action="type_list" siteid="$siteid" order="listorder DESC" num="8"}
{loop $data $v}
<a href="{$v['url']}" title="{$v['name']}" target="_blank">{$v['name']}</a>
{/loop}
{/pc}
{pc:link action="type_list" siteid="$siteid" linktype="1" order="listorder DESC" num="8"}
{loop $data $v}
<li><a href="{$v['url']}" title="{$v['name']}" target="_blank"><img src="{$v[logo]}" width="88" height="31" /></a></li>
{/loop}
{/pc}
方法二:方法一不显现时可用此法
{pc:get sql="select * from v9_link" siteid="$siteid" order="listorder desc" num="20"}
{loop $data $val}
<a href="{$val['url']}" target="_blank">{$val['name']}</a>
{/loop}
{/pc}
一般常用标题:
{$v['url']}
{$v['logo']}
注:linktype="1"时为图片友情链接,为0时为文本友情链接。
20、--------------------站点列表----------------------------------------------------------------------
{pc:get sql="select name,domain from v9_site where siteid<>1 order by siteid asc"}
{loop $data $r}
<a href="{$r[url]}" target="_blank" title="{$r[name]}">{$r[name]}</a>
{/loop}
{/pc}
21、--------------调用单页内容-------------------------------
{pc:get sql="SELECT content FROM v9_page where catid='6'" return="data"}
{loop $data $r}
{str_cut(strip_tags($r[content]), 160)} //strip_tags()可过滤标签
{/loop}
{/pc}
22、---------------调用排行-----------------
{pc:content action="hits" catid="13" order="weekviews DESC" num="4"}
{loop $data $r}
<li><a href="{$r['url']}">{$r['title']}</a></li>
{/loop}
{/pc}
{pc:get sql="select * from ns_gck where catid in(415,420,421,422,423,424,425)" num="10" return="data"}
{loop $data $r}
<li><a href="{$r[url]}" title="{$r[title]}">{str_cut($r[title],"28")}</a></li>
{/loop}
{/pc}
23、-------------在LIST中调用文章的浏览次数--------------
把以下代码加在{pc:content action=“hits”…中合适的地方即可:
{php $h_md=pc_base::load_model('hits_model');$get_db=$h_md->get_one(array('hitsid'=>"c-".$modelid."-".$r[id]));$views=$get_db[views];}
点击量:{$views}
24、-------------全站最新文章-------------
{pc:content action="newcontent" order="8" num="7"}
{loop $data $r}
<li>[{$CATEGORYS[$r[catid]][catname]}]<a href="{$r['url']}">{str_cut($r['title'],28)}</a></li>
{/loop}
{/pc}
25、外部数据源调用
{pc:get sql="SELECT * FROM pre_forum_thread" cache="3600" dbsource="discuz" return="data" num="10"}
26、首页头条
{pc:content action="position" posid="2" order="listorder DESC" num="1"}
{loop $data $r}
{str_cut($r[title],20,'')}
{str_cut($r[description],102)}
{/loop}
{/pc}
27、同级栏目列表
{pc:content action="category" catid="$parentid" num="12" siteid="$siteid" order="listorder ASC"}
{loop $data $r}
{$r[catname]}
{/loop}
{/pc}
28、V9同时调用多个栏目最新文章标签
{pc:get sql="SELECT `n`.`inputtime`,`n`.`url`,`n`.`title`,`c`.`catname`,`c`.`url` as `c_url` FROM `v9_news` as `n` left join `v9_category` as `c` on `n`.`catid` = `c`.`catid` where `c`.`catid` in (6,7,8,9,10) order by `n`.`id` desc" num="10" cache="3600" page="" dbsource="" return="data"}
{loop $data $key $val}
{date('Y-m-d H:i:s',$val[inputtime])}[{$val[catname]}] {$val[title]}
{/loop}
{/pc}
29、投票
<!-- js文件,document.write写入网页 -->
<script language="javascript" src="{APP_PATH}index.php?m=vote&c=index&a=show&action=js&subjectid=1&type=3"></script>
<!-- js文件,document.write写入网页 -->
30、调用指定id的文章
{pc:get sql="SELECT * FROM v9_news WHERE id='29'"}
{loop $data $val}
{$val['url']}
{/loop}
{/pc}
31、调用banner图
<div>
<ul>
{pc:content action="lists" catid="16" num="5" order="id desc"}
{loop $data $val}
<li><a href="{$val['url']}" target="_blank"><img src="{$val['thumb']}" /></a></li>
{/loop}
{/pc}
</ul>
</div>
32、只调用含有缩略图的文章标题列表
{pc:content action="lists" catid="9" num="20" where="thumb !=''"}
{loop $data $n $r}
<a href="{$r[url]}">{$r[title]}</a><br />
{/loop}
{/pc}
33、只调用每个栏目下一条数据
{php $array_catid=array(1,2,3,4,5,6);} //栏目id
{loop $array_catid $cid}
{pc:content action="lists" catid="$cid" order="updatetime DESC" num="1" return="info"}
{loop $info $r}
标签内容
{/loop}
{/pc}
{/loop}
34、调用当前栏目下最后一个子栏目下的文章内容
{pc:content action="category" catid="$catid" order="catid DESC"} //调用当前栏目的子栏目
<?php
$endcataarr = end($data);
$endcataid = $endcataarr['catid'];
?>
{pc:content action="lists" catid="$endcataid" order="id ASC" num="3" return="baike"}
{loop $baike $v1}
<div><span>{$v1[title]}</span>{str_cut($v1['description'],100)}<a "openZoosUrl();LR_HideInvite();return false;" href="javascript:void(0);" style="color:#fa8232;">[详情]</a></div>
{/loop}
{/pc}
<div><span>治疗方法:</span><a style="color:#fa8232;" href="/zhongliuzhiliao/1002.html">微创介入 </a> <a style="color:#fa8232;" href="/zhongliuzhiliao/1003.html">粒子植入治疗 </a> <a style="color:#fa8232;" href="/zhongliuzhiliao/1001.html">氩氦刀冷冻消融 </a></div>
{/pc}
35、调用当前栏目下每个子栏目下被推荐的文章
{pc:content action="category" catid="$catid" order="catid DESC"} //调用当前栏目的子栏目
{loop subcat($catid) $v}
{pc:get sql="SELECT title, thumb, description, url FROM fenghuang_news WHERE catid = $v[catid] and posids = 1 ORDER BY id DESC" num = "6" return = "data"}
{loop $data $vv}
<li class="ml0">
<div class="fl"><a href="{$vv[url]}"><img src="{thumb($vv['thumb'],150,160)}" alt=""></a></div>
<div class="hzgz_desc fl ml10">
<p>{str_cut($vv['title'],38)}</p>
<div>{str_cut($vv['description'],120)}<a href="{$vv[url]}" style="color:#fa8232;">【阅读全文】</a></div>
</div>
</li>
{/loop}
{/loop}
{/pc}
36、调用全站最新文章
{pc:get sql="SELECT * FROM fenghuang_news a,fenghuang_news_data b WHERE a.id=b.id ORDER BY inputtime DESC" num="4" cache="3600" return="data"}
<ul>
{loop $data $r}
<li class=""><span>{$n}</span><a href="{$r[url]}">{str_cut($r['title'],45)}<i>{date('Y-m-d', $r['updatetime'])}</i></a></li>
{/loop}
</ul>
{/pc}
37、二级以及三级栏目的调用
<script type="text/javascript"> //导航下拉(二级菜单显示与隐藏开始)
$(document).ready(function(){ //表示文档加载完后才执行此函数
jQuery(".nav_box").slide({ type:"menu", titCell:".nLi", targetCell:"sub_nav",effect:"slideDown",delayTime:300,triggerTime:0,returnDefault:true});
});
</script>
<div class="nav_box">
<ul>
<li class="nLi"><a href="{siteurl($siteid)}">首页</a></li> //一级
<li class="nLi"><a href="{$CATEGORYS['12']['url']}">{$CATEGORYS['12']['catname']}</a>//一级
<ul class="sub_nav"> //二级
<li><a href="{$CATEGORYS['17']['url']}">{$CATEGORYS['17']['catname']}</a></li>
<li><a href="{$CATEGORYS['18']['url']}">{$CATEGORYS['18']['catname']}</a></li>
<li><a href="{$CATEGORYS['21']['url']}">{$CATEGORYS['21']['catname']}</a></li>
</ul>
</li>
<li class="nLi"><a href="{$CATEGORYS['13']['url']}">{$CATEGORYS['13']['catname']}</a></li> //一级
<li class="nLi"><a href="{$CATEGORYS['14']['url']}">{$CATEGORYS['14']['catname']}</a> //一级
<ul class="sub_nav"> //二级
<li><a href="{$CATEGORYS['19']['url']}">{$CATEGORYS['19']['catname']}</a></li>
<li><a href="{$CATEGORYS['20']['url']}">{$CATEGORYS['20']['catname']}</a></li>
</ul>
</li>
<li class="nLi"><a href="{$CATEGORYS['15']['url']}">{$CATEGORYS['15']['catname']}</a></li> //一级
<li class="nLi"><a href="{$CATEGORYS['16']['url']}">{$CATEGORYS['16']['catname']}</a></li> //一级
</ul>
</div><!-- 二级菜单显示与隐藏结束 -->
<!--二级栏目的调用-->此方法会同时显示多级栏目
<div class="nav_box">
{pc:content action="category" catid="0" num="25" siteid="$siteid" order="listorder ASC"}
<ul>
<li rel="0"><a href="{siteurl($siteid)}" >首页</a></li>
{loop $data $r}
<li rel="0"><a href="{$r[url]}">{$r[catname]}</a>
<ul>
{loop subcat($r['catid']) $c}
<li><a href="{$c[url]}">{$c[catname]}</a></li>
{/loop}
</ul>
</li>
{/loop}
</ul>
{/pc}
</div>
<!--二级栏目 调用如下 开始-->
{php $sub_cat = subcat('$catid');}
{loop $sub_cat $k $v}
{php $sub_cat_id[] = $k;}
{/loop}
{php $sub_cat_id = implode('\',\'', $sub_cat_id);}
{pc:get sql="select * from v9_category where catid in('$sub_cat_id')" num="50" return="data"}
{loop $data $r}
<dl>
<dt><a href="{$r['url']}" target="_blank">{$r['catname']}</a></dt>
<!--三级栏目 调用如下 开始-->
{pc:get sql="select * from v9_category where catid in($r[arrchildid])" num="50" return="data"}
<dd>
{loop $data $r}
<a href="{$r['url']}">{$r['catname']}</a> |
{/loop}
</dd>
{/pc}
<!--三级栏目 调用如下 结束-->
</dl>
{/loop}
{/pc}
<!--二级栏目 调用如下 结束-->
38、自定义分页函数如何使用:
/*
* 分页函数
* @param $num 信息总数
* @param $curr_page 当前分页
* @param $perpage 每页显示数
* @param $urlrule URL规则
* @param $array 需要传递的数组,用于增加额外的方法
* @return 分页
*/
function new_pages($num, $curr_page, $perpage = 20, $urlrule = '', $array = array(),$setpages = 10) {
if(defined('URLRULE') && $urlrule == '') {
$urlrule = URLRULE;
$array = $GLOBALS['URL_ARRAY'];
} elseif($urlrule == '') {
$urlrule = url_par('page={$page}');
}
$multipage = '';
if($num > $perpage) {
$page = $setpages+1;
$offset = ceil($setpages/2-1);
$pages = ceil($num / $perpage);
if (defined('IN_ADMIN') && !defined('PAGES')) define('PAGES', $pages);
$from = $curr_page - $offset;
$to = $curr_page + $offset;
$more = 0;
if($page >= $pages) {
$from = 2;
$to = $pages-1;
} else {
if($from <= 1) {
$to = $page-1;
$from = 2;
} elseif($to >= $pages) {
$from = $pages-($page-2);
$to = $pages-1;
}
$more = 1;
}
// 如果总页数大于1才显示当前页码信息等。
if ($pages > 1) {
$multipage .= '<p>共 '.$num.' 条 每页显示 '.$perpage.' 条 </p>';
$multipage .= '<ul>';
$multipage .= '<li>';
// 首页。
$multipage .= '<a href="'.pageurl($urlrule, 1, $array).'">[首页]</a>';
$multipage .= '</li>';
}
if($curr_page>0) {
$multipage .= ' <li><a href="'.pageurl($urlrule, $curr_page-1, $array).'" >[上一页]</a></li>';
if($curr_page==1) {
$multipage .= ' <li><span>1</span></li>';
} elseif($curr_page>6 && $more) {
$multipage .= ' <li><a href="'.pageurl($urlrule, 1, $array).'">1</a>..</li>';
} else {
$multipage .= ' <li><a href="'.pageurl($urlrule, 1, $array).'">1</a></li>';
}
}
for($i = $from; $i <= $to; $i++) {
if($i != $curr_page) {
$multipage .= ' <li><a href="'.pageurl($urlrule, $i, $array).'">'.$i.'</a></li>';
} else {
$multipage .= ' <li><span>'.$i.'</span></li>';
}
}
if($curr_page<$pages) {
if($curr_page<$pages-5 && $more) {
$multipage .= ' <li>..<a href="'.pageurl($urlrule, $pages, $array).'">'.$pages.'</a> <a href="'.pageurl($urlrule, $curr_page+1, $array).'" >[下一页]</a></li>';
} else {
$multipage .= ' <li><a href="'.pageurl($urlrule, $pages, $array).'">'.$pages.'</a> <a href="'.pageurl($urlrule, $curr_page+1, $array).'" >[下一页]</a></li>';
}
} elseif($curr_page==$pages) {
$multipage .= ' <li><span>'.$pages.'</span> <a href="'.pageurl($urlrule, $curr_page, $array).'" >下一页</a></li>';
} else {
$multipage .= ' <li><a href="'.pageurl($urlrule, $pages, $array).'">'.$pages.'</a> <a href="'.pageurl($urlrule, $curr_page+1, $array).'" >[下一页]</a></li>';
}
}
$str = http_build_query($_GET);
$ppp=explode(page,$str);
// 如果总页数大于1才显示“最后一页”。
if ($pages > 1) {
$multipage .= ' <li><a href="'.pageurl($urlrule, $pages, $array).'">[尾页]</a></li>';
$multipage .=' <li>'.$curr_page.'/'.$pages.'</li>';
$multipage .= ' <li><select>';
$multipage .= "<option value='0'>跳转到</option>";
for($i=1; $i<=$pages; $i++){
$multipage .= "<option value='index.php?$ppp[0]&page=$i'>第$i 页</option>";
}
$multipage .= '</select></li> ';
$multipage .= '</ul>';
}
return $multipage;
}
a、打开phpcms\libs\functions\global.func.php文件,找到分页函数,复制粘贴到默认分页函数的下面,重新命名,比如命名为wz_pages,保存。
b、打开phpcms/libs/classes/template_cache.class.php,找到207行的
$str .= '$pages = pages($'.$op.'_total, $page, $pagesize, $urlrule);'
在这行的下面加上
$str .= '$wz_pages = wz_pages($'.$op.'_total, $page, $pagesize, $urlrule);'
保存。
c、最后,如果要使用自定义的分页函数,那么在模板中直接用{$ wz_pages}就可以了。
d、要修改样式,直接修改phpcms\libs\functions\global.func.php这个文件中的wz_pages函数就可以了,不会影响到后台。
e、后续优化:
使用过程中,发现使用SQL分页的不能正常使用,打开phpcms/libs/classes/template_cache.class.php,找到178行的
$str .= '$r = $get_db->sql_query("'.$sql.'");
$s = $get_db->fetch_next();
$pages=pages($s[\'count\'], $page, $pagesize, $urlrule);'
在下面增加:
$str .= '$r = $get_db->sql_query("'.$sql.'");
$s = $get_db->fetch_next();
$wz_pages=wz_pages($s[\'count\'], $page, $pagesize, $urlrule);'
这样,SQL的分页就正常了。
f、再次优化:
会员中心的收藏列表分页不能使用上面的办法,因为收藏列表的分页函数直接在其他文件定好了,所以通过修改模板缓存文件是不可行的。下面提供修改办法:
办法一:将phpcms\libs\classes\model.class.php中61行
$this->pages = pages($this->number, $page, $pagesize, $urlrule, $array, $setpages);
修改成:
$this->pages = wz_pages($this->number, $page, $pagesize, $urlrule, $array, $setpages);
(模板中的{$ pages}不用改为{$ wz_pages}),不过这样的话,可能后台也会影响到,这个里好像控制很多地方。
方法二:还是上面那个文件,61行不要修改。直接在61行下面添加:
$this->wz_pages= wz_pages($this->number, $page, $pagesize, $urlrule, $array, $setpages);
再到:phpcms\modules\member\index.php中718行,把
$pages = $this->favorite_db->pages;
修改为:
$wz_pages = $this->favorite_db->wz_pages;
模板中的{$ pages}需要修改为{$ wz_pages}。
39、Phpcms v9 实现首页,列表页,内容页调用点击量方法
a、首页调用点击量
{pc:content action="lists" catid="$r[catid]" num="5" order="id DESC" return="info"}
{php $categorys = getcache('category_content_'.$siteid,'commons');}
<ul class="list lh24 f14">
{loop $info $v}
{php $category = $categorys[$v[catid]];}
{php $modelid = $category['modelid'];}
{php $db = pc_base::load_model('hits_model'); $_r = $db->get_one(array('hitsid'=>'c-'.$modelid.'-'.$v[id])); $views = $_r[views]; }
{php $comment_tag = pc_base::load_app_class("comment_tag", "comment"); $comment_total = $comment_tag->count(array('commentid'=>'content_'.$v[catid].'-'.$v[id].'-'.$modelid));}
<li>·<a href="{$v['url']}" target="_blank" title="{$v['title']}"{title_style($v[style])}>{str_cut($v['title'],40)}</a> 点击:{$views} 评论:{if $comment_total}{$comment_total}{else}0{/if}</li>
{/loop}
</ul>
{/pc}
b、列表页调取点击量
{php $db = pc_base::load_model(‘hits_model’); $_r = $db->get_one(array(‘hitsid’=>’c-’.$modelid.’-’.$r[id])); $views = $_r[views]; }
点击:{$views}
c、内容页调取点击量
<script type="text/javascript" src="{JS_PATH}jquery.min.js"></script>
<span id="hits"><script language="JavaScript" src="{APP_PATH}api.php?op=count&id={$id}&modelid={$modelid}"></script></span>
40、首页调用多个栏目下文章的关键字
{pc:get sql="SELECT * from nanning_news where status=99 and catid in(22,60,19) order by id DESC" num="8" return="data"}
{loop $data $v}
{php $keywords = explode(' ',$v[keywords]);}
{loop $keywords $keyword}
<a href="{$v['url']}">{$keyword}</a>
{/loop}
{/loop}
{/pc}
41、获取多个栏目下的文章
{pc:get sql="SELECT * from nanning_news where status=99 and catid in(22,60,19) order by id DESC" num="9" return="data"}
{loop $data $v}
<li><a href="{$v['url']}" title="{$v['title']}">{$v['title']}</a></li>
{/loop}
{/pc}