<meter id="vsqli"></meter><optgroup id="vsqli"><ruby id="vsqli"><i id="vsqli"></i></ruby></optgroup>
<output id="vsqli"></output>

    <pre id="vsqli"><meter id="vsqli"></meter></pre>

    1. <small id="vsqli"><strong id="vsqli"><del id="vsqli"></del></strong></small>

    2. <output id="vsqli"><ruby id="vsqli"></ruby></output>
      <big id="vsqli"></big>
      <code id="vsqli"></code>
        <big id="vsqli"><strong id="vsqli"></strong></big>
      1. <td id="vsqli"></td>

          <td id="vsqli"></td>
            
            

                  1. <dl id="vsqli"></dl>
                      <dl id="vsqli"></dl>
                      1. <dl id="vsqli"><ins id="vsqli"></ins></dl>

                          <dl id="vsqli"><ins id="vsqli"></ins></dl>

                        1. 返回舊版| 微信建站| 建站之家論壇| 我要建站 | 建站學習 | 加入收藏
                          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
                          云南11选5开奖结果