Laravel:端末によって表示内容を変える方法
Laravel:端末によって表示内容を変える方法
作成中のシステムは基本的にPCでの操作を念頭に作り込んでいます。
現段階で商品検索機能は完成したのですが非常に便利で「検索などの機能は倉庫でも使いたい!」と思うようになりました。倉庫で使えれば詳細情報の有無確認して実測できます。
ただ、パソコンでの表示を考えて作ってしまったため、改行で崩れる箇所が複数あります。
単純なテーブルやリストなんかだと【%】でクリアできるのですが、タブ切替の情報集約ページなどはタブ名が枠に収まらず大きく表示崩れしてしまいました。
端末による表示切替えが簡単に出来れば…。
そんな方法を見つけたので備忘録に記します。
LaravelではRequestが端末情報を持っている!
すっごく便利です。
LaravelではRequestが端末情報を保持しているので、呼び出して分岐させるだけで簡単に構築出来てしまいます。
■コントローラー
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
public function edit($id,Request $request) { //端末判断 $user_agent = $request->header('User-Agent'); if ((strpos($user_agent, 'iPhone') !== false) || (strpos($user_agent, 'iPod') !== false) || (strpos($user_agent, 'Android') !== false)) { $terminal ='mobile'; } else { $terminal = 'pc'; } return view('items.edit', compact ( 'terminal' ) ); } |
■ビュー
1 2 3 4 5 |
@if($terminal ==='pc') PCです。 @else スマホまたはタブレットです。 @endif |
まとめ
本格的にスマホ画面とPC画面を作り込もうと思った場合は Bootstrap でグリッドシステムを作り上げるのがベストですが、簡易的な振分けなら上記方法で完了!
すっごく簡単でした。
-
前の記事
楽天SEO:検索アルゴリズムを推測してみた 2019.02.19
-
次の記事
Laravel:更新日時などの時間ずれを解消する(解決編) 2019.02.20
コメントを残す