m.project_name
の代わりに別のビューフォルダm.view
を読み込むことを考えました。私のfooter.php
でCodeIgniter:モバイル版を作成するのではなく、画面の幅に基づいて別のビューを読み込みますか?
function load_views($view, $data = []) {
// load m.view for mobile
$this->load->view('templates/header'. $data);
$this->load->view($view, $data);
$this->load->view('templates/footer', $data);
}
:
$this->load_views('home/index.php', $data);
そしてMy_Controller.php
中:
<script>
if (screen.width < 937) {
window.location('http://localhost/m.project_name');
}
</script>
しかしであることを考える私は、テンプレートは、私が唯一のコントローラに次のように持っているので、 "自動読み込み" していますhttp://localhost/project_name/controller/method/p1では、デフォルトのページにリダイレクトされます。
モバイルページをモバイルデバイスに送信する場合は、あなたがクライアント上でリダイレクトを開始するこの奇妙なことを防ぐためのページ。リクエストがサーバーに送信されると、リクエストのヘッダーには、ユーザーが使用しているデバイス/ブラウザーに関する情報が含まれます。その情報に基づいて、あなたがしたいことを決めることができます。 – Glubus
ええ、おそらくクエリ文字列を介して幅を送信します。しかし、それは私がきれいなURLを持っていないと私のすべてのリンクにクエリ文字列を設定する必要があることを意味します。 – mzcoxfde
真剣に - これを行うには、フロントエンドフレームワークを使用してください。 3つのトップはBootstrap 3:http://getbootstrap.com Foundation:http://foundation.zurb.comとJquery Mobile https://jquerymobile.com – cartalot