デバイス判定の仕組みに関して

baserCMSサンプルテーマ ( bc_sample )にて学習中です。
先日はありがとうございました。

この数日間、調べて判らなかったの再度質問させて下さい。
前回の質問にて、

 > システム設定 > サブサイト管理 > サブサイト一覧 

上記ページにてスマートフォンを有効にする事で、スマートフォンでアクセスした場合デバイス判定され /s/ 配下のディレクトリが表示れます。

デバイス判定は BaserCMS の仕様でしょうか、それともテーマで判定しているのでしょうか。デバイス判定の仕組み教えて頂けないでしょうか。

テーマではなく本体で判定していると思います。テーマ側での判定ではありません。
なので、例えばレスポンシブデザインでHP制作するような場合は、本体のシステム設定でデバイスの判定をしないようにすると思います(メディアクエリ云々の前にユーザーエージェントの判定で/s/に飛ばされてしまいますので・・・)。

サイトにアクセスした時、ユーザーはその端末のブラウザ等の情報を送信します。
baserはそれを受け取って判定してます。
ちなみにどこで判定する値の分類はlib/Baser/Config/setting.phpに記載されていますよ。
http://wiki.basercms.net/モバイル・スマートフォン対応
https://htaccess.cman.jp/useragent/

Goichi 様

アドバイスありがとうございました。
デバイス判定は、 baserCMS 側で行っている件了解いたしました。
ちなみに、baserCMS 側で行っているデバイス判定のキャンセルはどうしたら良いのでしょうか、デバイス判定は/lib/Baser/Config/setting.phpに記載てれることを確認しました。
/app/Config/setting.phpにて上書きするような形になるのでしょうか。

iwamoto 様
アドバイスありがとうございます。
/lib/Baser/Config/setting.php
は確認しました。ページも拝見しました。上記ファイルはコアファイルになる為、カスタマイズは/app/Config/setting.phpに記載して上書きすると理解しました。

現状、デバイス判定に iPad が入っていません。個人的にはランドスケープモードにした500pxから700px 及び 701pxから1023px 位までのレイアウトを作れるようにしたいと思っています。

自分自身 iPad ユーザーな為、現状 iPad だと PC デザインが表示され狭苦しい感じになり、スマートフォンレイアウトだと逆にスペースがあり間延びした感じになってしまってしまうと思います。
世の中的、iPad は PC の範疇なのか、スマートフォンの範疇なのか中途半端な状態になっていると思っています。

@maru
iPadはタブレットという扱いになるんでしょうね。
500px~700pxという風に具体的に表示したい範囲が明確なのでしたら、
メディアクエリを利用してテーマのcssを記載してみてはどうでしょうか?
メディアクエリとは指定した範囲にcssを当てられるcssの機能です。
以下のサイト等が参考になるかもしれません。

iwamoto 様

再度のアドバイスを有り難うございまあす。

メディアクエリを利用してテーマのcssを記載してみてはどうでしょうか?

はい、メディアクエリでデバイス(ディスプレイ)別に表示出来るようにしたいと思っています。その際 baserCMS 側デバイス判定機能を停止させたい思っています。停止させるには

システム設定 > サブサイト管理 > サブサイト一覧

にて、サンプルテーマ ( bc_sample )の場合、非公開もしくは削除し、

テーマ管理 > bc_sample|スタイルシート一覧

にて、style.css ファイルにてメディアクエリでデバイス分けを行えれば、レスポンシブルサイトにすることが出来ると理解して問題ないでしょうか。

@maru
システム管理の
サイト基本設定 > デバイス・言語設定 にて、
「サブサイトでデバイス設定を利用する」という項目にデフォルトでチェックが付いていると思います。
そちらのチェックを外すだけでbaserCMS側でのデバイス判定を停止できるかと思いますが、いかがでしょうか?

morishi 様

アドバイスを有り難うございました。

システム設定 > サイト基本設定

にて「オプション」を開いた所にある【デバイス・言語設定】「サブサイトでデバイス設定を利用する」のチェックを確認しました。チェックをはず事で、デバイス判定を無効にすることが出来ました。

サンプルテーマ ( bc_sample )をレスポンシブル化してみようと思います。

1 Like