phpcms的pc:get标签增加urlrule功能

有时我们想对PHPCMS的已定义标签实现自定义urlrule功能,用来实现分页个性化展示效果,在使用标签pc:get时发现没有这个功能,其实只需要做好简单设置即可,具体操作如下:

1、/libs/classes/template_cache.class.php,line174,case ‘get’里面,在if (isset($page)) {之前增加代码:

if(isset($urlrule) && !empty($urlrule))
{
   $str .= '$urlrule = \'' . $urlrule . '\';'; 
}

2、模板里,pc:get标签中添加当前page的获取以及urlrule规则

$page = intval($_GET['page']);

{pc:get sql="SELECT id,title FROM v9_keywords where tag = 'abcd' order by inputtime desc " cache="86400" return="output" num="2000"  page="$page" urlrule="/hot/"}{/pc}

3、在/phpcms/libs/functions/global.func.php的pages函数里改下urlrule规则调用即可,如:

if(stristr($urlrule,"/hot/")){
 $urlrule = APP_PATH.$urlrule.'/{$page}/';
}

4、在.htaccess里添加伪静态规则:

RewriteRule ^hot/([0-9]+)/$ index.php?m=content&c=index&a=hotsearch&page=$1

最终效果:

pc:get标签增加urlrule功能

相关推荐