携帯端末の判別

携帯端末の判別方法については、次のページが参考になりました。
MT312 - ユーザーエージェント携帯判別

PEARのNet_UserAgent_Mobileも利用したいと思います。

Net_UserAgent_Mobileの使用方法は、次のページが参考になります。
【PHP TIPS】 14. 携帯サイトを作るためのPEAR::Net_UserAgent_Mobile:ITpro

絵文字

DoCoMo絵文字からau,Softbankの絵文字に変換する場合、次のページが参考になります。

tacolog - Smartyプラグインで絵文字変換プログラムを作る 再び

絵文字変換に関する情報リンク

ウノウラボ Unoh Labs: auは絵文字を自動変換していたわけではなかった

エミュレータ

エミュレータのダウンロードサイトへのリンクです。

DoCoMo

作ろうiモードコンテンツ:ツールダウンロード | サービス・機能 | NTTドコモ

iモードHTMLシミュレータⅡを使用して、hostsファイルで参照しているドメインのサーバーにアクセスする場合、次の設定をします。

  1. メニューの[ブラウザ]->[オプション設定]をクリックして、Optionsダイアログを開く。
  2. [ネットワーク設定]タブを選択して、「HOSTSファイルを参照する」をオンにする。
au

Openwave Developer Network - Home

Softbank

ソフトバンク

PEAR::XML_Serializerを使って、google等で認識できるサイトマップを出力するメモです。

XML_Serializerのインストール

XML_Serializerと依存するパッケージを次のようにインストールしました。

$ bin/pear -c pear.conf install --onlyreqdeps channel://pear.php.net/XML_Serializer-0.18.0

PEARパッケージをアプリケーションごとにインストールのように、「-c pear.conf」で設定ファイルを指定しています。

サンプル

次のようにしてサイトマップのxmlを作成します。

PHP:
  1. $urls = array();
  2.  
  3. $elem = array();
  4. $elem['loc'] = 'http://url/foo';
  5. $elem['lastmod'] = Date('Y-m-d');
  6. $elem['changefreq'] = 'monthly';
  7. $elem['priority'] = '0.5';
  8. $urls[] = $elem;
  9.  
  10. $elem = array();
  11. $elem['loc'] = 'http://url/bar';
  12. $elem['lastmod'] = Date('Y-m-d');
  13. $elem['changefreq'] = 'weekly';
  14. $elem['priority'] = '0.6';
  15. $urls[] = $elem;
  16.  
  17. $options = array (
  18.                   'addDecl' => TRUE,
  19.                   'encoding' => 'UTF-8',
  20.                   'indent' => '  ',
  21.                   'rootName' => 'urlset',
  22.                   "defaultTagName"  => "url",
  23.                   "rootAttributes"  => array("xmlns" => 'http://www.sitemaps.org/schemas/sitemap/0.9'),
  24.                   );
  25.  
  26. $serializer = new XML_Serializer($options);
  27.  
  28. $result = $serializer->serialize($urls);
  29.  
  30. if ($result === true) {
  31.   $xml = $serializer->getSerializedData();
  32. }

サイトマップのメモ
  • 1個のサイトマップファイルに記述できるURLの数は、50000個まで。
  • 1個のサイトマップファイルのサイズ(圧縮前)は、10MB(10,485,760バイト)を超えてはいけない。

これらの制限の範囲に収まらない場合は、サイトマップファイルを複数に分けます。
(gzip形式で圧縮も可能)

sitemaps.org - プロトコルに次の記述があります。

複数のサイトマップを使用する場合は、サイトマップ インデックス ファイルに各サイトマップ ファイルをリストする必要があります。

複数のサイトマップファイルを作成した場合は、サイトマップ インデックス ファイルが必須のような記述に見えますが、とりあえずは気にしにないことに・・・
(googleの「ウェブマスター ツール」や、Yahooの「Yahoo! Site Explorer
-」では、複数のサイトマップを登録できるようになっています。)

リンク

サイトマップのフォーマット
sitemaps.org - プロトコル

PEARのマニュアルサイトのサンプル
PEAR :: Manual :: Example

XML_Serializerのチュートリアル
Instant XML with PHP and PEAR::XML_Serializer [PHP & MySQL Tutorials]

2007年9月5日

Zend FrameworkとPEAR::Pagerのメモ
で、さらにクエリ情報をURLに付加する場合のメモです。

次のようにextraVarsオプションを追加してPagerを作成しましたが、うまくいきませんでした・・・

PHP:
  1. $params['append'] = false;
  2. $params['fileName'] = '?' . $urlvar . '=%d';
  3. $params['extraVars'] = array('var'=>'foo');

appendをfalseにすると、extraVarsオプションが効かなくなるようです。

そこで、次のようにfileNameオプションにクエリ情報を付加して、解決しました。

PHP:
  1. $params['fileName'] = '?' . $urlvar . '=%d' . '&var=foo';

HTML_QuickFormを使って、select要素にオプション(選択リストに表示される項目)を追加する方法のメモです。
(続きを読む »)

PEAR::HTML_QuickFormのsubmit要素に、クリック時の確認メッセージボックス(JavaScript)を追加する例です。

PHP:
  1. $attr = array();
  2. $attr['onclick'] = "return confirm('削除を実行します。よろしいですか?');";
  3. $form->addElement('submit', 'btn_submit', '削除する',$attr);