当前位置:首页 > CMS教程 > phpcms > 列表

PHPCMS V9 TAG伪静态终极解决方案

发布:smiling 来源: PHP粉丝网  添加日期:2014-10-20 23:22:51 浏览: 评论:0 

最近在帮一个朋友弄一个网站,主站是采用了PHPCMS v9程序,然后做成博客的样式.主站已经成型,HTML5中文网,有兴趣的朋友可以去看看.由于从美工到程序都是我一个人完成,我在想着什么时候有空把它也做成一套wordpress模板, 主要还得看时间来的。好了回归正题,其实其他的都还好说,主要在Tag标签这一块,PHPCMS是CMS型的,在TAG这块儿略显得薄弱了些.主要还是在 TAG标签伪静态这块出现了很大问题,按照网上的一些方法是可以实现PHPCMS v9 TAG伪静态的,但是估计是服务器环境问题,到了show.html就会出现乱码!

我们要做的工作有:

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

2、打开phpcms/modules/content/tag.php文件,找到,$total = $this->db->number; 这一行往上面添加以下代码:

  1. //用于伪静态,可直接在tag.html模板下使用$pages参数调用分页. 
  2. $page = intval($_GET['page']); 
  3. $page = max($page,1); 
  4. $urlrules = getcache(‘urlrules’,'commons’); 
  5. $urlrule = $urlrules[31];//调用url规则 
  6. $pagesize = 10; //分页大小 
  7. $tag_db = pc_base::load_model(‘tag_model’); 
  8. $tag=iconv(“utf-8″,”gbk”,$tag);// 这句话在网上的一些教程里面木有,是由于我自身服务器环境问题所加的,就是强制转码.把UTF8强转为GBK,因为在下面我们使用了 urlecode().它使用UTF8编码,由于我用的是GBK版,所以必须转下,UTF8版不用. 
  9. $tag_info = $tag_db->listinfo(Array(‘siteid’=>$siteid) , ‘id desc’, $page ,$pagesize,”,”,$urlrule);  //phpfensi.com 
  10. $pages = $tag_db->pages; 

3、打开你的模板目录/content/show.html,把那个TAG标签连接改成这样的:{APP_PATH}tags-{urlencode($keyword)}_{$catid}_1.html

4、在.htaccess文件里加入以下代码:RewriteRule ^tags-(.*)_([0-9]+)_([0-9]+).html index.php?m=content&c=tag&catid=$2&tag=$1&page=$3

5、完成,你可以看见你的TAG是已经伪静态了,比如HTML5中文网在首页就用了TAG,按照上面的方法最终变成:http://www.phpfensi.com/tags-UC优视-10-1.html

PS:参照上面的逻辑规律,你可以完成PHPCMS v9的全站伪静态,包括评论.这里就不多说了.还有伪静态规则,有需要的朋友可以自己去找找.

快忙活一个星期了,终于是给忙完了,但是最遗憾的是没有用HTML5技术去完成代码.还不熟悉,加紧努力!

Tags: PHPCMS伪静态 TAG伪静态

分享到: