PHP、Smarty、ケータイサイトについて発信中。書籍 「Smarty動的webサイト構築入門」(技術評論社) 好評発売中
RSS icon Home icon
  • PEAR::Net_UserAgent_Mobile用のi-mode機種情報xml


     Smarty動的Webサイト構築入門の5.3 Smartyとケータイで、PEAR::Net_UserAgent_Mobileパッケージを使っています。このパッケージは外部ファイルからi-mode機種情報を読み込むことができます。本の付録CDROMに、筆者作成のdocomo_netuamobile.xmlを収録しました。

     ところが、このdocomo_netuamobile.xmlには不具合があり、下から5~6行目の「SO902WP+」以降を正しく読み込みません。次の2点の修正が必要です。

     1点目は、docomo_netuamobile.xmlです。「SO902WP+」ではなく、「SO902WPplus」とします。次のファイルは、2008/9/21時点で、288機種あります。

    docomo_netuamobile.xmlのダウンロードページ

     2点目は、keitai_ini.phpを修正して、「SO902WP+」自体を認識できるようにします。SO902WP+の場合は、Net_UserAgent_Mobile内部の機種情報を使い、そうでない場合は、docomo_netuamobile.xmlを使うようにします。

    修正前
    7: $_SERVER['DOCOMO_MAP'] = dirname(__FILE__) . “/docomo_netuamobile.xml”;
    8: $agent = &Net_UserAgent_Mobile::factory();
    9: $display = $agent->getDisplay();

    修正後
    7:  if ( ! preg_match(‘/SO902iWP[+]/’, $_SERVER['HTTP_USER_AGENT']) ) {
    8:     $_SERVER['DOCOMO_MAP'] = dirname(__FILE__) . “/docomo_netuamobile.xml”;
    9:   }
    10: $agent = &Net_UserAgent_Mobile::factory();
    11: $display = $agent->getDisplay();

    Smarty動的Webサイト構築入門
    Amazon.co.jpの詳細ページへ

    Leave a reply