PHPCMS V9评论模块伪静态与TAG模块伪静态设置
发布时间:2013-04-24 09:48:34 作者:佚名 我要评论
本文为大家介绍下PHPCMS V9评论模块伪静态与TAG模块伪静态设置,感兴趣的朋友可以参考下哈,希望对你学习PHPCMS 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)));
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的任何页面实现伪静态分页了。
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图片太大撑破表格图片自适应图片按比例缩小
下面小编就为大家带来一篇完美解决phpcms图片太大撑破表格图片自适应图片按比例缩小。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2016-10-18- 这篇文章主要介绍了PHPCMS v9 安全设置、防范教程,需要的朋友可以参考下2016-09-05
PHPCMS V9 全站 Sitemaps生成实现代码[服务器端版]
这篇文章主要介绍了PHPCMS V9 全站 Sitemaps生成实现代码[服务器端版],需要的朋友可以参考下2016-06-08- 这篇文章主要介绍了phpcms内容详情页只显示日期不显示时间的方法,即格式化时间输出的方法,需要的朋友可以参考下2015-06-19
- 这篇文章主要介绍了PHPCMS制作网站地图的简单方法,本文给出了操作步骤及标签源码,需要的朋友可以参考下2015-06-19
- 这篇文章主要介绍了PHPCMSV9父栏目调用子栏目的方法,本文讲解了在二级栏目列表页调用、在一级栏目列表页调用两种方法方式,需要的朋友可以参考下2015-06-19
- 这篇文章主要介绍了PHPCMS使用date函数实现自动更新页脚年月的方法,本文主要还是可以学习到date函数的用法了,需要的朋友可以参考下2015-06-19
- 这篇文章主要介绍了phpsso忘记密码的解决办法,本文用PHPCMS的密码及encrypt值替换数据表解决了这个问题,方法还是挺靠谱的,只是操作要求有点,需要的朋友可以参考下2015-06-19
- 这篇文章主要介绍了phpcms 退出无法同步通知discuz问题的解决方法,需要的朋友可以参考下2014-12-15
phpcms v9列表页如何调用子栏目如首页>产品中心>产品类型a
phpcms v9列表页如何调用子栏目如:首页>产品中心>产品类型a>产品类型a11,在列表页产品类型a中,包括产品类型a1、产品类型a2、产品类型a32014-09-24
最新评论