标题 | phpcms v9教程:评论模块伪静态 |
范文 | 一、评论模块伪静态设置 1、首先在后台->扩展->url规则里添加一个新的规则用于评论模块,如下面所示: {$commentid}_{$page}.html 添加完成后记住前面的id号,比如31。 2、本来pc标签支持urlrule呢,后来不支持了,只好改代码了,于是打开文件phpcms/modules/comment/index.php找到: include template('comment', 'list'); 在它上面添加几行用于读取urlrule和从评论表中调用评论数据,对了,评论表是带分表的。 $page = intval($_get['page']); $page = max($page,1); $urlrules = getcache('urlrules','commons'); $urlrule = $urlrules[31];//调用url规则 $pagesize = 10; //分页大小 $comment_db = pc_base::load_model('comment_model'); $comment_data_db = pc_base::load_model('comment_data_model'); $comment = $comment_db->get_one(array('commentid'=>$commentid, 'siteid'=>$siteid)); if ($comment){ $comment_data_db->table_name($comment['tableid']); $comment_info = $comment_data_db->listinfo(array('commentid'=>$commentid,'status'=>1) , 'id desc', $page ,$pagesize,'','10',$urlrule,array('commentid'=>$commentid)); $pages = $comment_data_db->pages; } 3、下面就就改模版了,改模版其实就是改一下那个pc标签,只留下循环那里就可以了, 就是把那个调用评论数据的标签改改, 删掉这个文件phpcmstemplatesdefaultcommentlist.html里的: {pc:comment action=lists commentid=$commentid siteid=$siteid page=$_get[page] hot=$hot num=20} 和它对应的那个: {/pc} 然后把循环语句: {loop $data $r} 改成: {loop $comment_info $r} 把分页标签: {$pages} 改成: {str_replace(_0.html,_1.html,$pages)} 4、最后在.htaccess文件里加入以下代码: rewriterule ^content_(.*)_([0-9]+).html index.php?m=comment&c=index&a=init&commentid=content_$1&page=$2 ok,现在就大功告成了,显示出来的网址是: /content_9-1-1_2.html 二、tag模块伪静态设置 1、在后台->扩展->url规则里添加一个新的规则用于评论模块,如下面所示: {$tag}_{$catid}_{$page}.html 添加完成后记住前面的id号,比如32。 2、打开phpcms/modules/content/tag.php文件,找到: $total = $this->db->number; 这一行往上面添加以下代码: $siteid = $this->categorys[$catid]['siteid']; $siteurl = siteurl($siteid); $this->db->set_model($modelid); $page = $_get['page']; $urlrules = getcache('urlrules','commons'); $urlrule = $urlrules[32];//调用url规则 $datas = $infos = array(); $infos = $this->db->listinfo(`keywords` like '%$tag%','id desc',$page,25,'','9',$urlrule,array('catid'=>$catid,'tag'=>urlencode($tag))); 3、修改模板,打开phpcmstemplatesdefaultcontentshow.html,找到: {app_path}index.php?m=content&c=tag&catid={$catid}&tag={urlencode($keyword)} 改成: {app_path}{urlencode($keyword)}_{$catid}_1.html 打开phpcmstemplatesdefaultcontenttag.html,把分页标签: {$pages} 改成: {str_replace(_0.html,_1.html,$pages)} 4、在.htaccess文件里加入以下代码: rewriterule ^(.*)_([0-9]+)_([0-9]+).html index.php?m=content&c=tag&catid=$2&tag=$1&page=$3 最后显示出来的url样式如下: /关键词_6_1.html 小结:其实以上的修改都是在listinfo支持伪静态规则的基础上来修改的,熟练使用listinfo,就能在phpcms的任何页面实现伪静态分页了。 |
随便看 |
|
在线学习网范文大全提供好词好句、学习总结、工作总结、演讲稿等写作素材及范文模板,是学习及工作的有利工具。