2012-04-17 4 views
1

OPENCMS를 사용하여 웹 사이트를 개발했습니다. 이제 모바일 웹 사이트를 개발했습니다. opencms에 코드 나 모듈을 추가하면 사용자가 모바일을 방문 할 때 모바일 웹 사이트로 리디렉션됩니다.opencms를 사용하여 모바일 웹 사이트로 리디렉션

+0

이 질문에 대답하지 않고 도움이 될 수 있습니다 : http://www.opencms-wiki.org/wiki/Creating_Mobile_Templates_with_OpenCms_8 –

답변

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 기반 자바입니다 ... – Scott

+0

넵는 자사의 자바 기반 . 그래서 OpenCMS에서 이미 모듈을 만들었는지 궁금합니다. – Hacker

+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> 
관련 문제