phpcmsV9常用标签调用大全

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]}">更多&raquo;</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">微创介入&nbsp;&nbsp;</a> <a style="color:#fa8232;" href="/zhongliuzhiliao/1003.html">粒子植入治疗&nbsp;&nbsp;</a> <a style="color:#fa8232;" href="/zhongliuzhiliao/1001.html">氩氦刀冷冻消融&nbsp;&nbsp;</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}

猜你喜欢

转载自blog.csdn.net/qq_38882327/article/details/89372144