PHPCMS评论模块伪静态设置

大家都知道,phpcms在评论模块上面是没有直接进行伪静态设置的,这里需要想些法子,程序员人生网为大家介绍PHPCMS评论模块伪静态如何设置

一、评论模块伪静态设置

1、首先在后台->扩展->url规则里添加一个新的规则用于评论模块,如下面所示:
{$commentid}_{$page}.html
添加完成后记住前面的id号,比如31。

2、本来PC标签支持urlrule呢,后来不支持了,只好改代码了,于是打开文件phpcms/modules/comment/index.php找到:

include template('comment','list');

在它上面添加几行用于读取urlrule和从评论表中调用评论数据,对了,评论表是带分表的。

  1. $page = intval($_GET['page']); 
  2. $page = max($page,1); 
  3. $urlrules = getcache('urlrules','commons'); 
  4. $urlrule = $urlrules[31];//调用url规则 
  5. $pagesize = 10; //分页大小 
  6. $comment_db = pc_base::load_model('comment_model'); 
  7. $comment_data_db = pc_base::load_model('comment_data_model'); 
  8. $comment = $comment_db->get_one(array('commentid'=>$commentid'siteid'=>$siteid)); 
  9. if ($comment){ 
  10. $comment_data_db->table_name($comment['tableid']); 
  11. $comment_info = $comment_data_db->listinfo(Array('commentid'=>$commentid,'status'=>1) , 'id desc'$page ,$pagesize,'','10',$urlrule,Array('commentid'=>$commentid)); 
  12. $pages = $comment_data_db->pages; 


3、下面就就改模版了,改模版其实就是改一下那个pc标签,只留下循环那里就可以了, 就是把那个调用评论数据的标签改改, 删掉这个文件phpcms/templates/default/comment/list.html里的:

  1. {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

大家可以看看本网站程序员人生网的评论模块,就是这么弄的,如何还有什么不明白的地方,可以直接留言告诉我

相关文章

本教程操作系统:Windows10系统、phpcms 9版本、Dell G3电脑...
PHPcms访问特点:单一入口模式。无论访问任何一个模块或者功...
例如:{pc:contentaction="position"posid="...
首先,上图之中的红色框框是没有的,我们想要给他加上,当然...
头部<metaname="keywords"content="{$SEO...
做网站时用的到的简单的栏目导航()phpcms多个栏目catidin(9,...