私はOPENCMSを使用して開発されたウェブサイトを持っています。今、私たちはモバイルウェブサイトを開発しました。 opencmsにコードやモジュールを追加するにはどうすればいいですか?ユーザーがモバイルから訪問すると、モバイルウェブサイトにリダイレクトされます。opencmsを使用してモバイルウェブサイトにリダイレクト
答えて
エディターでページの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');
?>
謝罪:OpenCmsのは、Javaベースのさ... – Scott
うんそのJavaがベース。だからすでにOpenCMSでそれを行うためのモジュールがあるのだろうかと思っていた。 – Hacker
実際にはちょうど1ライナーなので、Scottが上でサンプリングしたのと同じように、そこにモジュールはありません。ロジックをJavaに変換し、OpenCms内のメインJSPテンプレートに配置してください。それはすべてでなければなりません。いずれか(ヘッダーのリダイレクトを行う)、またはそれがあなたに適している場合は、別のCSSを含めるだけです。私はそれが本当にそれぞれの場合に依存すると思います。 –
<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>
- 1. OpenCmsレプリケーションエラー
- 2. OpenCmsの
- 3. OpenCmsのJSPテンプレート
- 4. OpenCMS Publish Permission
- 5. location.path()を使用してリダイレクト
- 6. リダイレクトjQueryを使用して
- 7. openCMSでサイトマップエディタを使用できません
- 8. ナビゲーションバーを使用してホームページにリダイレクト
- 9. Alamofire.requestを使用してアプリケーションにリダイレクト
- 10. Webextensions APIを使用してプロキシにリダイレクト
- 11. Wicket:setResponsePageを使用してwicketページにリダイレクト
- 12. asp.netコアを使用してタイムアウトページにリダイレクト
- 13. モバイルウェブサイトにphonegap/Ionic Hybrideアプリを使用できますか?
- 14. セッションを無効にしてopencmsでユーザーをログアウトする方法
- 15. htaccess - モバイルウェブサイト(サブドメイン上)にリダイレクトしようとするときの問題
- 16. PHP Frameworkはjquery + HTML5モバイルウェブサイトで使用しますか?
- 17. モバイルウェブサイトのバックエンドとしてのCakephp
- 18. opencmsのユーザーがファイルをアップロードしてダウンロードします。9
- 19. nginxプロキシを使用してURLをリダイレクト
- 20. モバイルアプリのWebビューで単一のモバイルウェブサイトを使用
- 21. モバイルウェブサイト、風景
- 22. AngularJSを使用してURLパラメータを使用してページにリダイレクトするとき
- 23. opencmsのブログ一覧は、デモサイト
- 24. itemreceiver sharepointを使用してリダイレクト
- 25. 301 htaccessを使用してリダイレクト
- 26. .htaccessを使用してワイルドカード301リダイレクト
- 27. 301クエリパラメータを使用してリダイレクト
- 28. テスト@user_passes_testデコレータを使用してリダイレクト
- 29. Godaddyのヘッダーを使用してリダイレクト
- 30. 反応ルータを使用してリダイレクト
これは質問に答えていませんが、役立つかもしれない: http://www.opencms-wiki.org/wiki/Creating_Mobile_Templates_with_OpenCms_8 –