<strike id="bfd19"><dl id="bfd19"><ruby id="bfd19"></ruby></dl></strike><span id="bfd19"></span>
<span id="bfd19"><video id="bfd19"></video></span>
<strike id="bfd19"><video id="bfd19"><ruby id="bfd19"></ruby></video></strike>
<strike id="bfd19"></strike><th id="bfd19"><video id="bfd19"></video></th>
<span id="bfd19"></span> <strike id="bfd19"></strike>
<strike id="bfd19"><dl id="bfd19"></dl></strike>
<th id="bfd19"><video id="bfd19"></video></th>
<span id="bfd19"></span>
<menuitem id="bfd19"><menuitem id="bfd19"><ruby id="bfd19"></ruby></menuitem></menuitem>
返回舊版| 微信建站| 建站之家論壇| 我要建站 | 建站學習 | 加入收藏
PHPCMS當前位置:首頁 > cms教程 > 綜合cms > PHPCMS > 正文

phpcms手機站模塊實現自定義偽靜態設置

發布時間:2018-07-17 09:44:31   來源:   點擊:
注意:我的手機模塊本身就是二開過的,所以一下修改請你考慮自己的實際情況

一、后臺模板修改部分
(1)打開phpcms\modules\wap\templates\m_edit.tpl.php在45行后邊加入代碼(m_add.tpl.php的45行處也加上):
  1.  
  2.     "100">開啟偽靜態: 
  3.     class="y-bg">"radio" name="setting[nohtml]" value="0" id="nohtml" if (!$nohtml) echo 'checked';?>>關閉  "radio" name="setting[nohtml]" value="1" id="nohtml" if ($nohtml) echo 'checked';?> >開啟 
  4.      
  5.     "weijingtai" style="width:100%;"
  6.     "100px" style="width:100px;">偽靜態規則: 
  7.     class="y-bg">"text" class="input-text" name="setting[nohtml_list]" id="nohtml_list" size="50" value="{C}"/>

     
  8.     "text" class="input-text" name="setting[nohtml_show]" id="nohtml_show" size="50" value="{C}"/>
     
  9.     
     
  10.    "font-size:10px; color:#666666">list默認:list-{$typeid}-{$page}
     
  11.     show默認: show-{$catid}-{$typeid}-{$id}
     
  12.      
  13.      

效果:




二、源碼部分修改

(1)打開phpcms\modules\wap\index.php修改如下:
  1. define('WAP_SITEURL', $this->wap['domain'] ? $this->wap['domain'].'index.php?' : APP_PATH.'index.php?m=wap&siteid='.$this->siteid); 
改成:
  1. $setting = json_decode($this->wap['setting'], true); 
  2.         if($setting['nohtml']){ 
  3.             define('WAP_SITEURL', $this->wap['domain'] ? $this->wap['domain'] : APP_PATH.'index.php?m=wap&siteid='.$this->siteid); 
  4.         }else
  5.             define('WAP_SITEURL', $this->wap['domain'] ? $this->wap['domain'].'index.php?' : APP_PATH.'index.php?m=wap&siteid='.$this->siteid); 
  6.         } 

把:
  1. //構造wap url規則 
  2. define('URLRULE''index.php?m=wap&c=index&a=lists&typeid={$typeid}~index.php?m=wap&c=index&a=lists&typeid={$typeid}&page={$page}'); 
替換成:
  1. /*判斷偽靜態*/ 
  2.             $setting = json_decode($this->wap_site[$siteid]['setting'], true); 
  3.             //構造wap url規則 
  4.             if($setting['nohtml']){ 
  5.                 $setting['nohtml_list'] = trim($setting['nohtml_list']) ? trim($setting['nohtml_list']): 'list-{$typeid}-{$page}'
  6.                 if($setting['nohtml_list']){ 
  7.                     //$nohtml_list = str_replace("|","~",$setting['nohtml_list']); 
  8.                     //$nohtml_list = str_replace(array('{$typeid}','{$catid}','{$page}'),array($typeid,$catid,$page),$nohtml_list); 
  9.                     define('URLRULE', $nohtml_list.'.html'); 
  10.                 }else
  11.                    define('URLRULE''list-{$typeid}-{$page}.html'); 
  12.                 } 
  13.             }else
  14.                define('URLRULE''index.php?m=wap&c=index&a=lists&typeid={$typeid}~index.php?m=wap&c=index&a=lists&typeid={$typeid}&page={$page}'); 
  15.             } 


(2)修改phpcms\modules\wap\functions\global.func.php文件
把list_url方法里邊的
  1. return WAP_SITEURL."&a=lists&typeid=$typeid";  
改成:
  1. /*判斷開啟偽靜態*/ 
  2.     $dbs       = pc_base::load_model('wap_model'); 
  3.     $infos     = $dbs->select(); 
  4.     foreach($infos as $k => $info){ 
  5.         if($info['siteid'] == $siteid ){ 
  6.              $setting   = json_decode($infos[$k]['setting'], true); 
  7.         } 
  8.     }    
  9.     if(!array_key_exists('nohtml', $setting)){ 
  10.        $nohtml = 0; 
  11.     }else
  12.         $nohtml = trim($setting['nohtml']) ?  trim($setting['nohtml']) : 0; 
  13.     } 
  14. if($nohtml){ 
  15.         $page = 1; 
  16.         $setting['nohtml_list'] = trim($setting['nohtml_list']) ? trim($setting['nohtml_list']): 'list-{$typeid}-{$page}'
  17.         $nohtml_url = str_replace(array('{$typeid}','{$catid}','{$page}'),array($typeid,$catid,$page),$setting['nohtml_list']); 
  18.         return "/".$nohtml_url.'.html';//可以自定義偽靜態 
  19.     }else
  20.         return WAP_SITEURL."&a=lists&typeid=$typeid";  
  21.     } 


show_url方法中做同樣修改
  1. return WAP_SITEURL."&a=show&catid=$catid&typeid=$typeid&id=$id";  
替換成:
  1. /*判斷開啟偽靜態*/ 
  2. $siteid = $GLOBALS['siteid']; 
  3. $dbs       = pc_base::load_model('wap_model'); 
  4. $infos     = $dbs->select(); 
  5. foreach($infos as $k => $info){ 
  6.     if($info['siteid'] == $siteid ){ 
  7.          $setting   = json_decode($infos[$k]['setting'], true); 
  8.     } 
  9. }    
  10. if(!array_key_exists('nohtml', $setting)){ 
  11.    $nohtml = 0; 
  12. }else
  13.     $nohtml = trim($setting['nohtml']) ?  trim($setting['nohtml']) : 0; 
  14.  
  15. if($nohtml){ 
  16.     $html_show = trim($setting['nohtml_show']) ? trim($setting['nohtml_show']) :'show-{$catid}-{$typeid}-{$id}-1'
  17.     $html_show  = str_replace(array('{$typeid}','{$catid}','{$page}','{$id}'),array($typeid,$catid,$page,$id),$html_show); 
  18.     return "/".$html_show.'.html'
  19. }else
  20.    return WAP_SITEURL."&a=show&catid=$catid&typeid=$typeid&id=$id";  
并且并強烈建議新增一個調用某個欄目url的函數
  1. /* 
  2.  *  新增  獲取當前頁面的欄目的url 
  3.  *  typeid 欄目id 
  4.  */  
  5. function caturl($typeid) { 
  6.     if(!empty($typeid)){ 
  7.         /*判斷開啟偽靜態*/ 
  8.         if (empty($siteid)) $siteid = $GLOBALS['siteid']; 
  9.         $dbs       = pc_base::load_model('wap_model'); 
  10.         $infos     = $dbs->select(); 
  11.         foreach($infos as $k => $info){ 
  12.             if($info['siteid'] == $siteid ){ 
  13.                  $setting   = json_decode($infos[$k]['setting'], true); 
  14.             } 
  15.         }    
  16.         if(!array_key_exists('nohtml', $setting)){ 
  17.            $nohtml = 0; 
  18.         }else
  19.             $nohtml = trim($setting['nohtml']) ?  trim($setting['nohtml']) : 0; 
  20.         } 
  21.  
  22.         if($nohtml){ 
  23.             $page = 1;
  24.             $html_list = trim($setting['nohtml_list']) ? trim($setting['nohtml_list']) :'list-{$typeid}-{$page}'
  25.             $html_list  = str_replace(array('{$typeid}','{$catid}','{$page}','{$id}'),array($typeid,$catid,$page,$id),$html_list); 
  26.             return "/".$html_list.'.html'
  27.         }else
  28.            return WAP_SITEURL."&a=lists&typeid=$typeid"
  29.         } 
  30.          
  31.     }else
  32.        return WAP_SITEURL; 
  33.     } 
這樣我們就可以直接調用{caturl(7)}的欄目鏈接,而無需關心偽靜態開啟還是關閉。

另外由于默認的偽靜態路徑和pc站的偽靜態路徑,所以設置偽靜態規則的時候一定要先判斷一下
我用的是nginx,偽靜態寫法為:
  1. location / { 
  2.     if ($host = 'm.tengcee.com' ) { 
  3.     rewrite ^(.*)/list-([0-9]+)-([0-9]+)\.html$ $1/index.php?&a=lists&typeid=$2&page=$3; 
  4.     rewrite ^(.*)show-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/index.php?&a=show&catid=$2&typeid=$3&id=$4; 
  5.     } 
  6.     rewrite ^(.*)content-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/index.php?m=content&c=index&a=show&catid=$2&id=$3&page=$4; 
  7.     rewrite ^(.*)show-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/index.php?m=content&c=index&a=show&catid=$2&id=$3&page=$4; 
  8.     rewrite ^(.*)list-([0-9]+)-([0-9]+)\.html$ $1/index.php?m=content&c=index&a=lists&catid=$2&page=$3; 
appach寫法:
 
  1. RewriteEngine on 
  2. RewriteRule ^content-([0-9]+)-([0-9]+)-([0-9]+).html index.php?m=content&c=index&a=show&catid=$1&id=$2&page=$3 
  3. RewriteRule ^show-([0-9]+)-([0-9]+)-([0-9]+).html index.php?m=content&c=index&a=show&catid=$1&id=$2&page=$3 
  4. RewriteRule ^list-([0-9]+)-([0-9]+).html index.php?m=content&c=index&a=lists&catid=$1&page=$2 
  5.  
  6. # 綁定m.pweb123.com 
  7. RewriteCond %{HTTP_HOST} ^m\.pweb123\.com$ [NC] 
  8. RewriteRule ^(.*)list-([0-9]+)-([0-9]+)\.html$ $1/index.php?m=wap&c=index&a=lists&typeid=$2&page=$3; 
  9. RewriteRule ^(.*)show-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/index.php?&a=show&catid=$2&typeid=$3&id=$4; 


以上就是全部教程,有想測試的可以去測試,有什么問題請及時反饋給我,謝謝!




相關欄目
熱門文章
最新圖文
評論排行
版權所有:鄭州騰石網絡科技有限公司 備案信息:豫ICP備18019117號
站長QQ:2863868475 業務合作咨詢:15137100750(同微信)
本站所有投放的廣告是有其他網站提供,不代表本站立場,同時網站首頁廣告位對外出租詳情咨詢本站站長!同時歡迎廣大站長加入個人建站團隊
  • 建站客服
  • CMS仿站
  • CMS學習
  • 技術交流群:336572814
百乐彩是什么意思
<strike id="bfd19"><dl id="bfd19"><ruby id="bfd19"></ruby></dl></strike><span id="bfd19"></span>
<span id="bfd19"><video id="bfd19"></video></span>
<strike id="bfd19"><video id="bfd19"><ruby id="bfd19"></ruby></video></strike>
<strike id="bfd19"></strike><th id="bfd19"><video id="bfd19"></video></th>
<span id="bfd19"></span> <strike id="bfd19"></strike>
<strike id="bfd19"><dl id="bfd19"></dl></strike>
<th id="bfd19"><video id="bfd19"></video></th>
<span id="bfd19"></span>
<menuitem id="bfd19"><menuitem id="bfd19"><ruby id="bfd19"></ruby></menuitem></menuitem>
<strike id="bfd19"><dl id="bfd19"><ruby id="bfd19"></ruby></dl></strike><span id="bfd19"></span>
<span id="bfd19"><video id="bfd19"></video></span>
<strike id="bfd19"><video id="bfd19"><ruby id="bfd19"></ruby></video></strike>
<strike id="bfd19"></strike><th id="bfd19"><video id="bfd19"></video></th>
<span id="bfd19"></span> <strike id="bfd19"></strike>
<strike id="bfd19"><dl id="bfd19"></dl></strike>
<th id="bfd19"><video id="bfd19"></video></th>
<span id="bfd19"></span>
<menuitem id="bfd19"><menuitem id="bfd19"><ruby id="bfd19"></ruby></menuitem></menuitem>