2012-04-17 10 views
1

私はOPENCMSを使用して開発されたウェブサイトを持っています。今、私たちはモバイルウェブサイトを開発しました。 opencmsにコードやモジュールを追加するにはどうすればいいですか?ユーザーがモバイルから訪問すると、モバイルウェブサイトにリダイレクトされます。opencmsを使用してモバイルウェブサイトにリダイレクト

+0

これは質問に答えていませんが、役立つかもしれない: http://www.opencms-wiki.org/wiki/Creating_Mobile_Templates_with_OpenCms_8 –

答えて

1

エディターでページの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

+0

うんそのJavaがベース。だからすでにOpenCMSでそれを行うためのモジュールがあるのだろうかと思っていた。 – Hacker

+1

実際にはちょうど1ライナーなので、Scottが上でサンプリングしたのと同じように、そこにモジュールはありません。ロジックをJavaに変換し、OpenCms内のメインJSPテンプレートに配置してください。それはすべてでなければなりません。いずれか(ヘッダーのリダイレクトを行う)、またはそれがあなたに適している場合は、別のCSSを含めるだけです。私はそれが本当にそれぞれの場合に依存すると思います。 –

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> 
関連する問題