PEAR::Net_UserAgent_Mobileでヘッダを切替える

サンプル参照元
14. 携帯サイトを作るためのPEAR::Net_UserAgent_Mobile:ITpro

改造してみた。
サーバーサイドに環境を作ってないので動作サンプルはありません。あしからず。

< ?php
//外部ファイル化 –開始–
// ここのインクルード指定は、Net_UserAgent_Mobileの配置場所に応じて適宜変更して下さい。
include_once(‘Net/UserAgent/Mobile.php’);
$agent = Net_UserAgent_Mobile::factory();

//型番の入手
$model = $agent->getModel();
if ($agent->isDoCoMo()) {
include(“./template/headerD.tpl”);
echo(“お使いの機種はDoCoMoの{$model}です。”);

} else
if ($agent->isVodafone()) {
include(“./template/headerS.tpl”);
echo(“お使いの機種はVodafoneの{$model}です。”);

} else
if ($agent->isEZweb()) {
include(“./template/headerA.tpl”);
echo(“お使いの機種はEZwebの{$model}です。”);

}else
{
include(“./template/header.tpl”);
echo(“お使いの機種はたぶんパソコンです。”);
}
//外部ファイル化 –終了–

//ここにコンテンツ

include(“./template/footer.tpl”);
?>

上記のように書き換える。

「template」フォルダ以下に4つのヘッダを配置。

  • +header.tpl・・・パソコン、その他用
  • + headerD.tpl・・・docomo
  • +headerA.tpl・・・au/KDDI
  • + headerS.tpl・・・・voderphone/softbank

テストサーバーにアクセスすると、PEAR モジュールがユーザーエージェントで判別。機種の型番を返してくれる。

さらに、上記の //外部ファイル化 –開始–から//外部ファイル化 –終了–までカット。
header.phpとして配置。
すると、ここまで簡単になる。

<?php
include(“hedar.php”);

//ここにコンテンツ

include(“./template/footer.tpl”);
?>

コンテンツ部分にHTMLを普通に書き込んでアップすると、アクセスしている機種ごとにヘッダが代わる。
ヘッダにスタイルシートを収めるドコモ以外は、スタイルシートの切替もこれで済んでしまう。

ここまで簡単になると、雛形を用意しておいて中にテキストを書いてアップするだけになる。
html タグを手打ちして、FFFTP のようなソフトでアップするだけになるだろう。
エディタにFTPが内蔵されていれば重たいDreamweaverを立ち上げなくても良い。

もうつかわないと思うので白状するが、Dreamweaverの「テンプレート」機能が苦手だった。
独自タグでくくってその中をライブラリと同期させて更新する仕組みなのだが、
上記のサンプルのように外部ファイルを直接読むほうが簡素で負担がかからない。
-+-

(AD)
PHP×携帯サイト デベロッパーズバイブル

ソフトバンク クリエイティブの本:PHP×携帯サイト デベロッパーズバイブル

【参照】
DoCoMo向けにCSS指定をインラインに埋め込むPHPライブラリ「toInlineCSSDoCoMo」作りました : アシアルブログ
3キャリア対応ケータイXHTMLのTIPS 8つ : アシアルブログ
+
Amazon Web Services Developer Connection : 携帯のURL対応について …
HTMLを知らない人でもWebサイトが作れるCMSとは?(1/3) - @IT
+
PHPプログラミングにおすすめ!PHPエディタ – [データベース]All About

工作好き