15621857753

phpcmsV9想给评论模板添加伪静态功能怎么开发

来源:齐鲁建站 栏目:开发教程 阅读: 日期:2021-07-22

本文phpcmsV9想给评论模板添加伪静态功能怎么开发,大伙儿都知道静态页面更有利于SEO收录,而PHPCMS的很多功能都是动态的,比如说评论模块,如果能将其伪静态化就好了,这个教程就来说说这个功能的实现方法。

下面就由齐鲁建站小编和大伙儿说说phpcms评论伪静态的实现方法。

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标签,只留下循环那里就可以了, 就是把那个调用评论数据的标签改改, 删掉这个文件phpcms/templates/default/comment/list.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

这样就可以了,要改的地方很多,使用的时候细心些哦。

展开