有时我们想对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
最终效果:
