《CMS技巧:PHPCMS V9評論模塊偽靜態與TAG模塊偽靜態設置》要點:
本文介紹了CMS技巧:PHPCMS V9評論模塊偽靜態與TAG模塊偽靜態設置,希望對您有用。如果有疑問,可以聯系我們。
相關主題:PHPCMS教程
導讀:介紹下
PHPCMS V9評論模塊偽靜態與TAG模塊偽靜態設置,感興趣的朋友可以參考下哈,希望對你學習PHPCMS V9有所幫助.一、評論模塊偽靜態設...
介紹下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的任何頁面實現偽靜態分頁了.?
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/6045.html