MobileHack
提供: GeeklogJpWiki
目次 |
Geeklogの携帯対応ハック
日本語版標準パッケージ組み込み済みハック
- ダウンロード:http://im-ltd.ath.cx/dokuwiki/doku.php?id=geekcell
- 開発者:im-ltd
- バージョン:0.3
日本語版標準パッケージ20061121版以降には,バージョン0.1がすでに組み込まれています。 0.2になり,セッションが切れる不具合を大幅に改善し,その他タグの許可設定など多数機能アップしました。0.3になり,画像表示方法など,さらに機能アップしました。
GeeklogサイトがPC用URLと同じURLのまま、携帯4キャリアからアクセスできます。
- 携帯からアクセスすると、自動的に携帯用のページを生成します。
- 標準インストールでは文字エンコードがUTF-8ですが、携帯で読めるShift JISに変換されます。
- 携帯では対応していないtableタグなどを出力しません。
- 携帯からログインできます。
- DocomoなどCookieに対応していない端末のためにCookieなしでセッション管理を行います。
- 携帯から記事の投稿、閲覧ができます。
- 携帯から掲示板(Forum)の投稿、閲覧ができます。
これらの機能はクライアントのUser Agentによって携帯電話だと判定した場合にだけ有効になります。通常のブラウザからアクセスした場合は今までどおりのページが表示されます。
制限事項
- 左右のブロックは一切表示されません。携帯だと認識した時点で、自動的に左右のブロックを表示させないテーマである「mobile」に切り替えるためです。
- そのため、管理者メニューブロックは表示されません。各種管理機能は通常のブラウザで行ってください。あるいは、管理者のみ閲覧できるモードで記事か静的ページでコンテンツを作成して、管理者画面へのリンクを作成しておく必要があります。
インストール方法
該当のファイルをアップロード、または変更を加えてください。 なお、データベースの修正はありませんので、Geeklogのインストール手順(/admin/install/install.php)を行う必要はありません。 詳しくは開発サイトをご覧ください。
修正および新規ファイル
<private>/system/custom/custom_cellular.php 差し替え <private>/system/lib-sessions.php 差し替え <public_html>/layout/mobile/*.* 差し替え
<private>/system/lib-custom.php
(日本語版ではすでに組み込まれています。)
以下の行を追加します。
//@@@@@ ケータイ対応
require_once('custom/custom_cellular.php');
<public_html>/lib-common.php
(日本語版ではすでに組み込まれています。)
変更前:
function COM_refresh( $url )
{
return "<html><head><meta http-equiv=\"refresh\" content=\"0; URL=$url\"></head></html>\n";
}
変更後:
// this file can't be used on its own - redirect to index.php
function COM_refresh( $url )
{
if( function_exists( 'CUSTOM_refresh' )) {
return CUSTOM_refresh( $url );
} else {
return "<html><head><meta http-equiv=\"refresh\" content=\"0; URL=$url\"></head></html>\n";
}
}
注意事項
通常のブラウザから携帯用のテーマであるmobileを選択してしまうと、ブロックが表示されないため、ほかのテーマに変更することができなくなります。この場合は http://サイト名/usersettings.php?mode=preferences をブラウザのアドレスバーに入力してテーマを変更してください。
PC用・携帯用 コンテンツの分岐
ケータイ用、PC用のコンテンツを記述可能。以下のように特別なHTMLコメントを使ってケータイ専用/PC専用のコンテンツを記述することができます。
<!--mobile_only <p>ケータイからのアクセスですね。</p> /mobile_only--> <!--not_for_mobile--> <p>PCからのアクセスですね。</p> <!--/not_for_mobile-->
その他のハック
開発者:UnderDone
携帯電話での電話番号タグに対応する方法が公開されました。