phpcms v9教程:评论模块伪静态
来源:易贤网 阅读:818 次 日期:2016-06-18 08:40:31
温馨提示:易贤网小编为您整理了“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的任何页面实现伪静态分页了。

更多信息请查看CMS教程
易贤网手机网站地址:phpcms v9教程:评论模块伪静态
由于各方面情况的不断调整与变化,易贤网提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:易贤网
云南网警报警专用图标