ニュース&ブログ


[baserCMS2]スマホ・携帯の簡易ユーザーエージェント判別

Googleなどの検索エンジンにスマートフォンのサイトが引っかかっているので、スマホと携帯以外(つまりパソコン)でスマホサイトを見た場合は、PCページヘリダイレクトする設定にしました。

その際、「baser.php」に「スマホ・携帯のユーザーエージェント判別」を追記したのでご紹介します。

baser.php の複製および修正内容

baser.php の複製

まずは、いつものように「baser/config/」ディレクトリの「baser.php」を「app/config/」へコピーしました。(BaserCMSは「baser」ディレクトリ内は触らないというのが基本です。)

ちなみに「baser.php」には、エージェント設定が書いてあるので、携帯は127行目辺り・スマホは143行目辺りの配列に新たなエージェントを追加できます。

baser.php の修正内容

携帯は「isMobile()」で、スマホは「isSmartphone()」で判別できるように、「baser.php」の最終行「 ?> 」の直前に下記ソースを追記しました。

/* 携帯・スマホ判別(CoreDesign追記) */
	function isMobile() {
		$useragents = Configure::read('BcAgent.mobile.agents');
		$pattern = '/'.implode('|', $useragents).'/i';
		return preg_match($pattern, $_SERVER['HTTP_USER_AGENT']);
	}
	function isSmartphone() {
		$useragents = Configure::read('BcAgent.smartphone.agents');
		$pattern = '/'.implode('|', $useragents).'/i';
		return preg_match($pattern, $_SERVER['HTTP_USER_AGENT']);
	}

ユーザーエージェント判別例

携帯は「isMobile()」で、スマホは「isSmartphone()」で判別できます。

<?php if isMobile() { ?>
	携帯の場合に適用する内容
<?php } ?>

<?php if isSmartphone() { ?>
	スマホの場合に適用する内容
<?php } ?>

<?php if ( !isMobile() && !isSmartphone() ) { ?>
	PC(携帯とスマホ以外)の場合に適用する内容
<?php } ?>

訪問打ち合わせ対応可能エリア

【北九州市内】

八幡西区・八幡東区・若松区・戸畑区・小倉北区・小倉南区・門司区

【北九州市周辺地域】

遠賀郡(水巻町・芦屋町・遠賀町・岡垣町)・中間市・宗像市・鞍手郡(鞍手町・小竹町)・宮若市・福津市・古賀市・直方市・飯塚市・田川市・行橋市・京都郡(苅田町・みやこ町)・山口県下関市など

上記以外の地域も訪問での打ち合わせ対応が可能な場合がございます。
また、お電話とメールだけで打ち合わせが可能な案件につきましては、日本全国どこからでもご依頼を承ります。お気軽にお問い合わせください。

ホームページ制作無料お見積り(リアルタイム概算計算機能付き)

お問い合わせ