网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的考试资料:

 

标题 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的任何页面实现伪静态分页了。
随便看

 

在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/17 9:01:06