PHPCMS V9评论模块伪静态与TAG模块伪静态设置

所属分类: CMS教程 / phpcms 阅读数: 203
收藏 0 赞 0 分享
一、评论模块伪静态设置
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)));

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的任何页面实现伪静态分页了。
更多精彩内容其他人还在看

最新PHPCMS V9编辑器代码高亮显示亲测可用(提前格式化)

很多朋友喜欢用phpcms发布编程类信息,为了用户的良好浏览效果,所以代码高亮不可缺少,这篇信息提供的方法是通过编辑器内就格式化了代码,不是后处理的
收藏 0 赞 0 分享

phpcms v9的后台编辑器无法上传图片的解决方法

今天在修改原来用phpcms v9做的网站的时候,发现碎片的编辑器那里不能上传图片了,然后看了下后台发布文章那里,也是一样不能上传图片了
收藏 0 赞 0 分享

phpcms教程之用户vip过期后降低用户等级的办法分享

介绍一个phpcms用户vip过期后自动降低用户等级的办法,大家参考使用吧
收藏 0 赞 0 分享

phpcms调用文章发布时间标签显示1970的解决方法

在使用phpcms V9时,经常出现调用文章时间标签会显示1970年的问题,虽然不知道真正的原因,但我找到了解决方法。方法很简单,使用php strtotime() 函数即可
收藏 0 赞 0 分享

phpcms V9利用num++实现多样形式列表标签调用

在使用phpcms的时候,经常要用到各种各样的调用形式。但官网给的例子里并不是很全,这个时候就需要我们大家自己来动脑筋了
收藏 0 赞 0 分享

phpcms V9修改lists标签(实现调用文章所属栏目及点击数)

pc程序默认首页是无法调用出文章的点击数,而调用文章所属的栏目名称也很复杂,需要先使用php语句进行数据缓存后才能调用。其实我们可以一步到位,自己添加函数来实现在首页/频道页/列表页调用文章点击数及文章所属栏目名称
收藏 0 赞 0 分享

phpcms V9 邮箱配置方法

phpcms自带邮箱系统,用来发送注册信息等内容,但QQ普通邮箱已经不支持此功能了。建议使用163邮箱
收藏 0 赞 0 分享

phpcms V9 全站文章点击排行榜标签

我们在做内容站的时候,经常需要使用到文章排行榜,但phpcms默认的pc调用标签是需要具体栏目ID的,那么如何调用全站文章的点击排行榜呢
收藏 0 赞 0 分享

Phpcms v9 整合Discuz! X2.5 和UCenter 1.6.0详细图文教程

很多站长利用Phpcms v9搭建主站,然后用Discuz! X2.5搭建网站的论坛,这样一个网站就会有两个用户中心,分别是Phpcms v9 的phpsso和Discuz! X2.5的 UCenter。这就需要将两款程序进行整合,从而达到同步注册、同步登录、同步退出的效果
收藏 0 赞 0 分享

解决phpcms V9整合discuz! X3.0后 在phpcms新注册用户需要在discuz激活的问题

这篇文章介绍了在phpcms新注册用户需要在discuz激活问题的解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多