PHPCMS V9评论模块伪静态与TAG模块伪静态设置
<p><strong>一、评论模块伪静态设置</strong><span> </span><br><span>1、首先在后台->扩展->url规则里添加一个新的规则用于评论模块,如下面所示: </span><br><span>{$commentid}_{$page}.html添加完成后记住前面的id号,比如31。 </span><br><span>2、本来PC标签支持urlrule呢,后来不支持了,只好改代码了,于是打开文件phpcms/modules/comment/index.php找到: </span></p>
<div>
<p>
<span><u>复制代码</u></span></p>
<p>
代码如下:</p>
</div>
<p>
<br>
include template('comment', 'list'); </p>
<p>
<br><span>在它上面添加几行用于读取urlrule和从评论表中调用评论数据,对了,评论表是带分表的。 </span></p>
<div>
<p>
<span><u>复制代码</u></span></p>
<p>
代码如下:</p>
</div>
<p>
<br>
$page = intval($_GET['page']); <br>
$page = max($page,1); <br>
$urlrules = getcache('urlrules','commons'); <br>
$urlrule = $urlrules;//调用url规则 <br>
$pagesize = 10; //分页大小 <br>
$comment_db = pc_base::load_model('comment_model'); <br>
$comment_data_db = pc_base::load_model('comment_data_model'); <br>
$comment = $comment_db->get_one(array('commentid'=>$commentid, 'siteid'=>$siteid)); <br>
if ($comment){ <br>
$comment_data_db->table_name($comment['tableid']); <br>
$comment_info = $comment_data_db->listinfo(Array('commentid'=>$commentid,'status'=>1) , 'id desc', $page ,$pagesize,'','10',$urlrule,Array('commentid'=>$commentid)); <br>
$pages = $comment_data_db->pages; <br>
} </p>
<p>
<br><span>3、下面就就改模版了,改模版其实就是改一下那个pc标签,只留下循环那里就可以了, 就是把那个调用评论数据的标签改改, 删掉这个文件phpcmstemplatesdefaultcommentlist.html里的: </span></p>
<div>
<p>
<span><u>复制代码</u></span></p>
<p>
代码如下:</p>
</div>
<p>
<br>
{pc:comment action="lists" commentid="$commentid" siteid="$siteid" page="$_GET" hot="$hot" num="20"} </p>
<p>
<br><span>和它对应的那个: </span></p>
<div>
<p>
<span><u>复制代码</u></span></p>
<p>
代码如下:</p>
</div>
<p>
<br>
{/pc} </p>
<p>
<br><span>然后把循环语句: </span></p>
<div>
<p>
<span><u>复制代码</u></span></p>
<p>
代码如下:</p>
</div>
<p>
<br>
{loop $data $r} </p>
<p>
<br><span>改成: </span></p>
<div>
<p>
<span><u>复制代码</u></span></p>
<p>
代码如下:</p>
</div>
<p>
<br>
{loop $comment_info $r} </p>
<p>
<br><span>把分页标签: </span></p>
<div>
<p>
<span><u>复制代码</u></span></p>
<p>
代码如下:</p>
</div>
<p>
<br>
{$pages} </p>
<p>
<br><span>改成: </span></p>
<div>
<p>
<span><u>复制代码</u></span></p>
<p>
代码如下:</p>
</div>
<p>
<br>
{str_replace("_0.html","_1.html",$pages)} </p>
<p>
<br><span>4、最后在.htaccess文件里加入以下代码: </span></p>
<div>
<p>
<span><u>复制代码</u></span></p>
<p>
代码如下:</p>
</div>
<p>
<br>
RewriteRule ^content_(.*)_(+).html index.php?m=comment&c=index&a=init&commentid=content_$1&page=$2 </p>
<p>
<br><span>ok,现在就大功告成了,显示出来的网址是: </span><br><span>/content_9-1-1_2.html </span><br><strong>二、TAG模块伪静态设置</strong><span> </span><br><span>1、在后台->扩展->url规则里添加一个新的规则用于评论模块,如下面所示: </span><br><span>{$tag}_{$catid}_{$page}.html 添加完成后记住前面的id号,比如32。 </span><br><span>2、打开phpcms/modules/content/tag.php文件,找到: </span></p>
<div>
<p>
<span><u>复制代码</u></span></p>
<p>
代码如下:</p>
</div>
<p>
<br>
$total = $this->db->number; </p>
<p>
<br><span>这一行往上面添加以下代码: </span></p>
<div>
<p>
<span><u>复制代码</u></span></p>
<p>
代码如下:</p>
</div>
<p>
<br>
$siteid = $this->categorys[$catid]['siteid']; <br>
$siteurl = siteurl($siteid); <br>
$this->db->set_model($modelid); <br>
$page = $_GET['page']; <br>
$urlrules = getcache('urlrules','commons'); <br>
$urlrule = $urlrules;//调用url规则 <br>
$datas = $infos = array(); <br>
$infos = $this->db->listinfo("`keywords` LIKE '%$tag%'",'id DESC',$page,25,'','9',$urlrule,Array('catid'=>$catid,'tag'=>urlencode($tag))); </p>
<p>
<br><span>3、修改模板,打开phpcmstemplatesdefaultcontentshow.html,找到: </span></p>
<div>
<p>
<span><u>复制代码</u></span></p>
<p>
代码如下:</p>
</div>
<p>
<br>
{APP_PATH}index.php?m=content&c=tag&catid={$catid}&tag={urlencode($keyword)} </p>
<p>
<br><span>改成: </span></p>
<div>
<p>
<span><u>复制代码</u></span></p>
<p>
代码如下:</p>
</div>
<p>
<br>
{APP_PATH}{urlencode($keyword)}_{$catid}_1.html </p>
<p>
<br><span>打开phpcmstemplatesdefaultcontenttag.html,把分页标签: </span></p>
<div>
<p>
<span><u>复制代码</u></span></p>
<p>
代码如下:</p>
</div>
<p>
<br>
{$pages} </p>
<p>
<br><span>改成: </span></p>
<div>
<p>
<span><u>复制代码</u></span></p>
<p>
代码如下:</p>
</div>
<p>
<br>
{str_replace("_0.html","_1.html",$pages)} </p>
<p>
<br><span>4、在.htaccess文件里加入以下代码: </span></p>
<div>
<p>
<span><u>复制代码</u></span></p>
<p>
代码如下:</p>
</div>
<p>
<br>
RewriteRule ^(.*)_(+)_(+).html index.php?m=content&c=tag&catid=$2&tag=$1&page=$3 </p>
<p>
<br><span>最后显示出来的URL样式如下: </span><br><span>/关键词_6_1.html </span><br><span>小结:其实以上的修改都是在listinfo支持伪静态规则的基础上来修改的,熟练使用listinfo,就能在phpcms的任何页面实现伪静态分页了。</span></p>
頁:
[1]