PHPCMS标签调用全版改动(二)
PHPcms频道页面取得文章点击量及评论数量:
{pc:content action="lists" catid="$v[catid]" num="5" order="id DESC"} {loop $data $v} {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_style($v[style])}>{$v[title]}</a>点击:{$views}评论数:{if $comment_total}{$comment_total}{else}0{/if}</li> {/loop} {/pc}
Phpcms首页面取得文章点击量及评论数量:
{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}
Phpcms推荐位取得文章点击量及评论数量:
{pc:content action="position" posid="2" order="listorder DESC" num="4"} {php $categorys = getcache('category_content_'.$siteid,'commons');} {loop $data $r} {php $category = $categorys[$r[catid]];} {php $modelid = $category['modelid'];} {php $db = pc_base::load_model('hits_model'); $_r = $db->get_one(array('hitsid'=>'c-'.$modelid.'-'.$r[id])); $views = $_r[views]; } {php $comment_tag = pc_base::load_app_class("comment_tag", "comment"); $comment_total = $comment_tag->count(array('commentid'=>'content_'.$r[catid].'-'.$r[id].'-'.$modelid));} <h4 class="blue"><a href="{$r[url]}" title="{$r[title]}">{str_cut($r[title],36,'')}</a> 点击:{$views} 评论:{if $comment_total}{$comment_total}{else}0{/if}</h4> <p>{if $n==1}<img src="{thumb($r[thumb],90,60)}" width="90" height="60"/>{/if}{str_cut($r[description],112)}</p> <div class="bk20 hr"><hr /></div> {/loop} {/pc}
phpcms栏目页调用父级栏目id/名称等任意字段的最佳办法:
顶级父栏目名称:{$CATEGORYS[$top_parentid][catname]}
顶级父栏目url:{$CATEGORYS[$top_parentid][url]}
顶级父栏目id:{$CATEGORYS[$top_parentid][catid]}
其他字段:只需要改动XXX:{$CATEGORYS[$top_parentid][XXX]}
<strong>上一篇:</strong><a href="{$previous_page[url]}">{$previous_page[title]}</a><br />
<strong>下一篇:</strong><a href="{$next_page[url]}">{$next_page[title]}</a>
导航高亮:
<ul> <li><a href="{siteurl($siteid)}" {if !$catid} class="hover"{/if}>首页</a></li> {pc:content action="category" catid="0" num="25" siteid="$siteid" order="listorder ASC"}{loop $data $k $r} <li><a href="{$r['url']}" {{if $catid==$r[catid] || $top_parentid==$r[catid] || $parentid==$r[catid]}class="active"{/if}} class="hover"{/if} >{$r[catname]}</a> {pc:content action="category" catid="$k" num="15" siteid="$siteid" order="listorder ASC"} <ul> {if $catid==$r[catid] || $top_parentid==$r[catid] || $parentid==$r[catid]}class="active"{/if}
前台模板标签调用:(幻灯片模块)
{pc:slider action="lists" postion="54" siteid="$siteid" order="desc" num="4"} {loop $data $r} <p>排序编号:{$r[listorder]}</p> <p>描述:{$r[name]}</p> <p>链接地址:{$r[url]}</p> <p>图片:{$r[image]}</p> <hr/> {/loop} {/pc}
(直接跳转下级分类)
<?php if($child){ $child_arrary=explode(',',$arrchildid); $to_url=$CATEGORYS[$child_arrary[0]][url]; echo "<script>window.location.href='".$to_url."'</script>"; } ?> {$CATEGORYS[$CAT[parentid]][image]}调用父级栏目的图片
找到标签解析方法/phpcms/libs/classes/template_cache.class.php第132行左右:
$num = isset($num) && intval($num) ? intval($num) : 20; 改为: $num = isset($num)? $num : 20;
自定义分页函数修改具体步骤:
1、添加自定义分页函数
打开phpcms\libs\functions\global.func.php这个文件,找到分页函数,复制一下,粘贴到默认分页函数的下面,重新命名,比如我的就命名为wz_pages,保存。
2、添加自定义函数解析
打开phpcms/libs/classes/template_cache.class.php,找到209行(每个版本不一样,找到下面这句代码)的
$str .= '$pages = pages($'.$op.'_total, $page, $pagesize, $urlrule);';
在这行的下面加上
$str .= '$wz_pages = wz_pages($'.$op.'_total, $page, $pagesize, $urlrule);';
保存。
3、在模板调用
{$pages} 改为 {$wz_page}
即可成功调用自定义函数。
ps:wz_page函数中,自己修改需要的分页配置
后续优化:
使用过程中,发现使用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);';
再次后续优化:
有朋友提到,会员中心的收藏列表分页不能使用上面的办法。
因为收藏列表的分页函数直接在其他文件定好了,所以通过修改模板缓存文件是不可行的
下面提供修改办法:
具体是
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}
文章地址:https://www.ruzw.com/html/201805/324.html