携帯ページをPCで表示してカスタマイズ

鉄板を携帯に対応させたい。前々からしようと思っててめんどくさかったからほおってたけど、少しやってみることに。
こんな単純なものじゃない・・・。もうちょっと調べる。。。↓は嘘

携帯ページをPCで表示させる方法

OpenPNEでは「controller.php」で動きを制御している。そのためここを編集すればいいはず。場所は↓。

webapp\lib\controller.php

これを見ると、以下のコードで判断している模様。

<?php

    if (!($module = get_request_var('m'))) {
        // モジュール名の自動設定
        if (!db_admin_user_exists()) {
            $module = 'setup';
        } elseif (isKtaiUserAgent()) {
            $module = 'ktai';
        } else {
            $module = 'pc';
        }
    }

?>

なんで、無理やり携帯であると判断させれば、PC上で携帯画面を表示できるはず。ということで、「isKtaiUserAgent()」を見てみる。

webapp\lib\util\ktai.php

これを見ると↓のファイルを見ている。

webapp\lib\OpenPNE\KtaiUA.php

中をざっくり見てみると、「classify()」という関数で判断しているみたい。こいつで全てのキャリアと判断されなかった場合、PCとして判断されるようだ。ということで、何かのキャリアとして無理やり認識させる。

<?php

    function classify($server)

        $ua = $server['HTTP_USER_AGENT'];

        // 判断している文字列を無理やり変更。この場合キャリアは「DoCoMo」となる
        $ua = 'DoCoMo';

        // ↓のようにキャリアを判断している。

        // DoCoMo
        if (!strncmp($ua, 'DoCoMo', 6)) {
            $this->is_docomo = true;
            $this->is_ktai = true;
        }

    }

?>

これで一応TOP画面は表示された。

まとめ

比較的簡単にTOP画面は出た。でもここからが大変なんだろうなぁ。ぼちぼちやっていこう。