1. 程式人生 > >dedecms織夢手機模板使用和製作方法

dedecms織夢手機模板使用和製作方法

我們在製作模板時通常都會參考織夢預設模板default中的標籤使用,所以,接下來我們就來分析一下織夢預設模板default中使用手機模板的製作方法

注意:本教程適合有織夢模板開發經驗的站長,如果是新手,建議先去熟悉織夢pc模板開發。

1、手機模板命名規則

在新織夢的default模板中,除了原有的模板外,多了些手機模板,主要手機模板如下:

     index_m.htm 首頁模板

     index_default_m.htm 頻道頁模板

     list_default_m.htm 列表頁模板

     list_default_sg_m.htm 列表頁模板

     article_article_m.htm 內容頁模板

     article_default_m.htm 內容頁預設模板

     search_m.htm 搜尋頁模板

     head_m.htm 頂部模板

     footer_m.htm 底部模板

熟悉織夢電腦網站模板製作的站長,一眼大體就能明白這些手機模板對應的用法和製作。這些手機模板和pc模板在製作、呼叫上還是有些區別的。下面說一下具體的區別。

2、手機模板和pc模板的不同

(1)手機模板的命名不同

從上面手機模板的命名就可以看出,手機模板和pc模板的命名區別就是在pc模板後加“_m” ,例如pc首頁模板是index.htm,對應的手機模板就是index_m.htm ;pc列表頁模板是list_article.htm ,對應的手機列表頁模板就list_article_m.htm 。

並且製作pc模板時,應該有一個pc模板,就做一個對應的手機模板,命名如上,這樣電腦和手機訪問時,對應頁面都可以正常顯示。

(2)手機模板呼叫的資源位置不同

pc模板製作時,呼叫的css、js、images都在模板資料夾中,例如預設default模板中的css、js、images都在其中。而手機模板呼叫的css、js、images等資源都在網站根目錄/m/assets資料夾下。

當然我們可以在手機模板中把資源呼叫的位置設定到模板資料夾內。但我分析了一下,覺的預設的手機模板資源這樣呼叫還是有好處的,把手機模板資源和pc模板 資源分開,這樣當我們又做了一個pc模板,想把現有的手機模板新增到這個新pc模板中時,只需要把手機模板檔案複製一份到新pc模板中就可以了,手機的 css、js等資源都不用動。簡單說,就是對手機資源管理方便。

所以建議手機模板資源按照預設模板一樣,放到根目錄對應資料夾下。

(3)網站根目錄的m資料夾

新織夢的根目錄下多了m資料夾,這個就是手機訪問的資料夾,剛才說了手機模板資源就在m資料夾下。除此之外m資料夾下還有index.php、list.php、view.php,當我們訪問手機站時,其實就是訪問這3個檔案,動態訪問手機站。

所以如果你想用電腦檢視一下自己的手機站,方法就是訪問:http://你的域名/m ,就可以檢視手機網站了。

(4)pc模板中的設定

當我們用手機訪問網站時,會自動跳轉到手機模板,這需要在pc模板中新增跳轉的js程式碼。在<head></head>新增程式碼。

* 首頁模板中新增如下程式碼:

複製程式碼 程式碼如下: <meta http-equiv="mobile-agent"  content="format=xhtml;url={dede:global.cfg_mobileurl/}/index.php">    
<script  type="text/javascript">if(window.location.toString().indexOf('pref=padindex') != -1){}else  {if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) ||   (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-  |Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){if(window.location.href.indexOf("?  mobile")<0){try{if(/Android|Windows  Phone|webOS|iPhone|iPod|BlackBerry/i.test  (navigator.userAgent)){window.location.href="{dede:global.cfg_mobileurl/}/index.php";}else if  (/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}
</script>
<meta http-equiv="mobile-agent" content="format=xhtml;url={dede:global.cfg_mobileurl/}/index.php"></p> <p><script type="text/javascript">if(window.location.toString().indexOf('pref=padindex') != -1){}else</p> <p>{if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) ||</p> <p>(/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-</p> <p>|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){if(window.location.href.indexOf("?</p> <p>mobile")<0){try{if(/Android|Windows Phone|webOS|iPhone|iPod|BlackBerry/i.test</p> <p>(navigator.userAgent)){window.location.href="{dede:global.cfg_mobileurl/}/index.php";}else if</p> <p>(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>

* 列表頁模板新增如下程式碼:

複製程式碼 程式碼如下: <meta http-equiv="mobile-agent" content="format=xhtml;url={dede:global.cfg_mobileurl/}/list.php?tid={dede:field.id/}"></p> <p><script type="text/javascript">if(window.location.toString().indexOf('pref=padindex') != -1){}else</p> <p>{if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) ||</p> <p>(/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-</p> <p>|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){if(window.location.href.indexOf("?</p> <p>mobile")<0){try{if(/Android|Windows Phone|webOS|iPhone|iPod|BlackBerry/i.test</p> <p>(navigator.userAgent)){window.location.href="{dede:global.cfg_mobileurl/}/list.php?tid=</p> <p>{dede:field.id/}";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>

*內容頁模板新增如下程式碼

複製程式碼 程式碼如下:
<meta http-equiv="mobile-agent" content="format=xhtml;url={dede:global.cfg_mobileurl/}/view.php?aid={dede:field.id/}"></p> <p><script type="text/javascript">if(window.location.toString().indexOf('pref=padindex') != -1){}else</p> <p>{if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) ||</p> <p>(/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){if(window.location.href.indexOf("?</p> <p>mobile")<0){try{if(/Android|Windows Phone|webOS|iPhone|iPod|BlackBerry/i.test</p> <p>(navigator.userAgent)){window.location.href="{dede:global.cfg_mobileurl/}/view.php?aid=</p> <p>{dede:field.id/}";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>

其中上面的js是電腦網站跳轉到手機網站的程式碼,而<meta http-equiv="mobile-agent" ....>是用來告訴百度,手機網站的地址,主要用於seo。

pc模板新增上面程式碼後,手機訪問網站時,就會自動跳轉到手機網站模板了。

(5)手機模板的設定

剛才說過了手機網站訪問的是網站根目錄的m資料夾下的index.php,list.php,view.php ,手機網站是訪問動態頁面,而不像pc站中的靜態頁面。

手機模板製作時,有兩個地方和pc模板不同。

一、欄目超連結不同

在pc模板中,如導航欄,欄目超連結呼叫如下:

複製程式碼 程式碼如下:
{dede:channel type='top' row='10' }</p> <p><a href='[field:typeurl/]' >這是欄目內容</a></p> <p>{/dede:channel}

手機模板呼叫欄目超連結程式碼如下:

複製程式碼 程式碼如下:
{dede:channel type='top' row='10' }</p> <p><a href='list.php?tid=[field:id/]' >這是欄目內容</a></p> <p>{/dede:channel}

二、文章列表超連結不同

pc模板中文章列表超連結呼叫程式碼如下:

複製程式碼 程式碼如下:
{dede:arclist row='10' }</p> <p><a href='[field:arcurl/]' >這是文章標題</a></p> <p>{/dede:arclist}

手機模板呼叫文章列表超連結程式碼如下:

複製程式碼 程式碼如下:
{dede:arclist row='10' }</p> <p><a href='view.php?aid=[field:id/]' >這是文章標題</a></p> <p>{/dede:arclist}

除了這兩個超連結不一樣,其他的織夢標籤通用。

(6)預設的手機搜尋頁模板search_m.htm不能用

經測試發現,預設的手機搜尋模板search_m.htm不能用,但用手機搜尋時,搜尋結果用的是pc搜尋模板search.htm 。

這是因為手機模板中搜索也是呼叫的pc站的搜尋功能。如果需要讓手機網站可以呼叫search_m.htm ,就需要單獨設定搜尋功能頁面。

總結

好了,按照以上的步驟完成pc站的跳轉,和手機站連結的注意事項,你就可以開始做自己的織夢手機模板了,方法和pc站模板開發類似。開發時,可以多參考預設default的手機模板。感興趣的朋友們快去動手試試吧,如果有疑問可以留言交流,小編會盡快給大家回覆的。