CMS技巧:PHPCMS V9评论模块伪静态与TAG模块伪静态设置

《CMS技巧:PHPCMS V9评论模块伪静态与TAG模块伪静态设置》要点:
本文介绍了CMS技巧:PHPCMS V9评论模块伪静态与TAG模块伪静态设置,希望对您有用。如果有疑问,可以联系我们。

导读:介绍下PHPCMS V9评论模块伪静态与TAG模块伪静态设置,感兴趣的朋友可以参考下哈,希望对你学习PHPCMS V9有所帮助.一、评论模块伪静态设...
介绍下PHPCMS V9评论模块伪静态与TAG模块伪静态设置,希望对你学习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',25,'9',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",$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的任何页面实现伪静态分页了. 

相关文章

1、想好字段名! 这里取一个test 商品发布模板:post_trad...
一、后台 → 全局 → 关闭站点(为了不影响数据库备...
<?php /** [Discuz!] (C) 2001-2099 Comsenz Inc. con...
今天给大家讲讲 如何把已经切割好的html页面或者模仿的页面转...
打开网站根目录下/template/default/common header_common....
打开网站根目录/source/module/portal/portal_list.php搜 c...