2012-04-17 70 views
1

我有一個使用OPENCMS開發的網站。現在我們開發了一個手機網站。如何將代碼或模塊添加到opencms,以便用戶從移動設備訪問時,它將被重定向到移動網站。使用opencms重定向到移動網站

+0

這不回答這個問題,但可能會有所幫助: http://www.opencms-wiki.org/wiki/Creating_Mobile_Templates_with_OpenCms_8 – 2012-12-14 05:09:33

回答

1

插入編輯器中某個頁面的開頭。

<?php 
    function detect_mobile() 
     { 
     if(preg_match('/(alcatel|amoi|android|avantgo|blackberry|benq|cell|cricket|docomo|elaine|htc|iemobile|iphone|ipad|ipaq|ipod|j2me|java|midp|mini|mmp|mobi|motorola|nec-|nokia|palm|panasonic|philips|phone|sagem|sharp|sie-|smartphone|sony|symbian|t-mobile|telus|up\.browser|up\.link|vodafone|wap|webos|wireless|xda|xoom|zte)/i', $_SERVER['HTTP_USER_AGENT'])) 
       return true; 

      else 
       return false; 
     } 

     $mobile = detect_mobile(); 

     if($mobile === true) 


    header('Location: /mobile'); 
    ?> 
+1

道歉:OpenCms的是基於Java的... – Scott 2012-04-17 07:03:14

+0

燁它基於Java 。所以我想知道在OpenCMS中是否有任何模塊。 – Hacker 2012-04-17 07:08:59

+1

這裏沒有模塊,因爲它實際上幾乎只是一個單線程,就像Scott上面抽樣一樣。只需將邏輯轉換爲Java並將其放置在OpenCms中的主要jsp模板中即可。這應該是全部。要麼(做一個頭重定向),或者如果它適合你,只需包含不同的CSS。我想這實際上取決於每種情況。 – 2012-04-17 23:50:17

1
<script type="text/javascript"> 

var url=***'http://yourmobilesite.com/***'; 
var host_name=document.location.hostname; 
var request_uri=document.location.pathname; 
var no_mobile=location.search; 
var cookie=document.cookie; 

function detect() 
{ 
    var ua=navigator.userAgent.toLowerCase(); 
    var devices=['vnd.wap.xhtml+xml','sony','symbian','nokia','samsung','mobile', 
       'windows ce','epoc','opera mini','nitro','j2me','midp-','cldc-', 
       'netfront','mot','up.browser','up.link','audiovox','blackberry', 
       'ericsson','panasonic','philips','sanyo','sharp','sie-', 
       'portalmmm','blazer','avantgo','danger','palm','series60', 
       'palmsource','pocketpc','smartphone','rover','ipaq','au-mic', 
       'alcatel','ericy','vodafone','wap1','wap2','teleca', 
       'playstation','lge','lg-','iphone','android','htc','dream', 
       'webos','bolt','nintendo']; 
    for (var i in devices) 
    { 
    if (ua.indexOf(devices[i]) != -1) 
    { 
     return true 
    } 
    } 
} 

if (no_mobile!='?nomobile=1' && cookie.indexOf('no_mobile')==-1) 
{ 
    is_mobile=detect(); 
    if (is_mobile) 
    { 
    window.location = url 
    } 
} 
else 
{ 
    if (cookie.indexOf('no_mobile') != -1) 
    {} 
    else 
    { 
    cookie_expires = new Date(); 
    cookie_expires.setTime(cookie_expires.getTime()+60*60*24); 
    document.cookie = "no_mobile=1; expires=" 
         + cookie_expires.toGMTString() 
         + "; path=/;" 
    } 
} 
</script>