TOP  >  健忘録  >  健忘録 : B-Wiki 携帯対応 by etupirka
今日の一言

忙しいというのはとても恥ずかしい状態だ。そんなこと人に威張れることですか?

2007年3月13日(火曜日)

B-Wiki 携帯対応

カテゴリー: - etupirka @ 19時02分24秒

B-Wikiとは

PukiWikiをベースにishii氏がつくられた、Xoopsのモジュール。PukiWiki、他のPukiwikiモジュールと同等以上の機能を持っているが、デフォルトでは携帯に対応していない。作者のishii氏が携帯を持っていないからだ。
ishii氏は自身のフォーラムで携帯を買ってくれて電話代を払い続けてくれる人がいたら対応を考える、との返答をしている(参考:携帯対応について・・・)が、そんなことはできない(したくない)。というわけで自分で何とかしてみた。なお、ishiisiは以前に私と同じISPのhostからの攻撃を受けていたらしく、そのため正規表現を使い私のアクセスを頑なに拒んでいる。

      作業内容
  • 携帯用のスキンを用意する
  • bwikiのindex.phpを編集する

よくわからない方は、こちらからダウンロードできます。

携帯用のスキンの追加

デフォルトのB-wikiに携帯からアクセスすると、

Runtime error
Error message :
SKIN_FILE is not found

と表示される。携帯用のスキンがないそうだ。追加してみよう。
Pukiwiki自体は携帯に対応しているため、Pukiwiki本家から本体をダウンロードして、パッケージに含まれている携帯スキンだけを拝借することにする。配布元はこちら。
解凍したPukiwikiのskinフォルダからkeitai.skin.php​を取り出して、bwikiのスキンフォルダにアップする。

index.phpの改造

bwikiに携帯用スキンを読ませるため、bwikiのindex.phpを改造する。以前のバージョンのbwikiについてはこちらで配布されている(リンク先不安定)index.phpを使用すると良いが、新しいB-wikiのindex.phpにはかなり改良が加わっている。こちらのページを参考に、さらに改良を加えてみた。
B-Wikiがヘッダーよ読み込む前に、UserAgentを取得し判別させる。もしアクセス元が携帯でないようならXOOPSのヘッダーを読ませる。詳しくはリンク先を参照のこと。
改良が出来たらアップデートして、元の index.php と差し替える。

使ってみた

imode,au,softbank3社が出しているシュミレータを用いて動作チェック。まずまずのようだが、デザインが寂しいのはPukiwiki同梱のスキンのせいで、改造が間違っているわけではない。

なお、サイト内で配布しているハックは、Vodafone,SoftBank のUAにも対応させてみた。


このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをNifty Clipに追加このエントリをBuzzurl(バザール)に追加このエントリをNewsingに追加

コメント

このコメントのRSS

TrackBack URL : http://xoops.etupirka.org/modules/wordpress/wp-trackback.php/190

  1. b-wiki に「B-Wiki / bwiki 携帯対応 hack gz」モジュールを
    組み込んだとたん真っ白になりました。
    PC から見ても携帯から見ても真っ白です。
    こんな例ってありますか?

    Comment by 真っ白 — 2007年11月1日(木曜日) @ 20時20分16秒

  2. 真っ白? デバッグモードにしたら何かエラーが出るのでは?

    ご自分で解決出来そうになかったら、xpWikiに移行してください。最初から携帯に対応しています。

    Comment by etupirka — 2007年11月1日(木曜日) @ 21時25分23秒

コメントの投稿

改行や段落は自動です
URLとメールアドレスは自動的にリンクされますので、<a>タグは不要です。
以下のHTMLタグが使用可能です。
<a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <br> <code> <em> <i> <strike> <strong>




18 queries. 0.040 sec.
Powered by WordPress Module based on WordPress ME & WordPress