Home  >  Article  >  Backend Development  >  PHPCMS V9网站管理系统内容页评述模块伪静态的实现

PHPCMS V9网站管理系统内容页评述模块伪静态的实现

WBOY
WBOYOriginal
2016-06-13 12:57:56848browse

PHPCMS V9网站管理系统内容页评论模块伪静态的实现
PHPCMS V9评论伪静态是建立在listinfo支持伪静态规则的基础上才能实现的,所以我们只要熟练学习操作熟练使用listinfo,就能在phpcms的任何页面实现伪静态分页了,下面我们就开始逐步讲解PHPCM 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)));       
//www.software8.co
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的任何页面实现伪静态分页了。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn