CakePHPで携帯サイトを作る

| コメント(197) | トラックバック(3)
2009/11/09追記
この記事のやり方だとCakePHPのバージョンが上がったら動かなくなったので新しく記事を書きました。 CakePHPで携帯サイトを作成する

今回、携帯サイトをCakePHPで作ったので、そのまとめを覚書でブログに載せておこうと思います。

CakePHPのバージョンは1.2.0.7296を使用しました。

まず.htaccessで
php_flag session.use_trans_sid On
php_flag session.use_cookies Off
これら二つの記述をして実際に動くindex.phpと同じフォルダに配置します。
session.use_trans_sidをオンにするとリンクで移動するところ全てにGETでセッションIDを引き継いでくれるようになり、session.use_cookiesでオフにすることでクッキーの使用をしないようにするというものです。

次にapp/config/core.phpの設定を変更します。
122行目付近の
Configure::write('Session.cookie', 'CAKEPHP');
の記述の部分でGETでセッションIDを持たす時の名前を指定できるので任意の違う名前に変えておきます。
149行目付近の
Configure::write('Security.level', 'medium');
でセキュリティーのレベルが設定できるのでhighからmediumに落としました。highのままだとsession.use_trans_sidが上手く動かなかったので。
127行目付近の
Configure::write('Session.timeout', '120');
でセッションのタイムアウト時間を設定します。
セキュリティーレベルをmediumに落としたのでhighの時よりセッション時間が10倍(3時間半ぐらい)になってしまったので
ここのセッションタイムアウト時間を小さくしておきます。

それからフォームでサブミットされてジャンプする時にもセッションIDを引き継がないといけないのでapp/app_controller.phpに以下の記述を加えます。
     //redirect メソッド書き換え
     function redirect($url,$status = null){
        //携帯用にリダイレクトのURLの後ろにセッションIDを付けておく
        if (strpos($url, "?") === false) {
            $url = $url."?".session_name()."=".session_id();
        }else{
            $url = $url."&".session_name()."=".session_id();
        }
        parent::redirect($url,$status);
    }
と記述してサブミット先のページにGETでセッションIDを渡すようにします。

最後にページャーなどのURLを生成する際にGET条件が「:」「/」で作成される部分をセッションIDをGETで渡す関係で「&」「=」の形で作り変えます。(CakePHP1.2のバージョンからGETの渡し方が「:」「/」となっているので)
修正ファイル:cake/libs/router.phpのfunction url()
851行目付近の
   if (!empty($named)) {
        foreach ($named as $name => $value) {
            $output .= '/' . $name . $_this->named['separator'] . $value;
        }
    }
の記述を
    if (!empty($named)) {
        $i = 0;
        foreach ($named as $name => $value) {
            //$output .= '/' . $name . $_this->named['separator'] . $value;
            if ($i == 0) {
                $output .= '?' . $name . "=" . $value;
            }else{
                $output .= '&' . $name . "=" . $value;
            }
        $i++;
        }
    }
という風に修正します。これで携帯のセッションがゲットで渡せるようになります。

以上の設定をするとCakePHPを使って携帯サイトの構築が出来ました。
次回はCakePHPで携帯サイトを作成する時に、はまった箇所を書きたいと思います。

トラックバック(3)

このブログ記事を参照しているブログ一覧: CakePHPで携帯サイトを作る

このブログ記事に対するトラックバックURL: http://www.okushin.co.jp/mt_co_jp/mt-tb.cgi/22

» (CakePHP)携帯電話でもセッションを使えるようにする(3流プログラマのメモ書き)~のトラックバック

最近のauやソフトバンクならクッキーを使える(ゲートウェイでクッキーつけてるっぽい?)ので問題ないのですが、厄介なのはドコモです。 ドコモはクッキーも使... 続きを読む

» Buy vicodin without a prescription.(Forum vicodin buy vicodin online.)~のトラックバック

Buy vicodin without script. 続きを読む

» Vicodin es.(Vicodin es.)~のトラックバック

Vicodin es. Order vicodin es generic. 続きを読む

コメント(197)

Pharmf298 :

Very nice site! cheap viagra

Pharmf95 :

Very nice site!

Pharmd146 :

Very nice site! cheap viagra

Pharmk229 :

Very nice site!

viagra :

Hello!
viagra ,

Pharmf25 :

Very nice site! cheap viagra

Pharmc105 :

Very nice site!

Pharmb421 :

Very nice site! cheap viagra

Pharmc781 :

Very nice site!

Anonymous :

Hello!
,

buy_viagra :

Hello!
buy viagra ,

buy_viagra :

Hello!
buy viagra ,

tramadol_lawsuit :

Hello!
tramadol lawsuit ,

tramadol_veterinary :
tramadol_prospect :
20tramadol :

Hello!
20tramadol ,

viagra_wirkung :

Hello!
viagra wirkung ,

achat_accutane :

Hello!
achat accutane ,

tramadol_controlled :
tramadol_ingredient :
viagraonlinei :

Hello!
viagraonlinei ,

tramadol_hclmg :

Hello!
tramadol hclmg ,

tramadol_spiriva :

Hello!
tramadol spiriva ,

tramadol_opium :

Hello!
tramadol opium ,

Anonymous :

Hello!
,

Anonymous :

Hello!
,

Anonymous :

Hello!
,

h57_hoodia :

Hello!
h57 hoodia ,

accutane_results :

Hello!
accutane results ,

buy_hoodia :

Hello!
buy hoodia ,

free_viagra :

Hello!
free viagra ,

tramadol_hydrachlor :
e_xanax :

Hello!
e xanax ,

HepvuseFe :

Hello.
[url=http://hukilxxxru.com]hukilxxxru[/url]
And Bye.

John722 :

Aloha!
vigrx ,

bcymnencucouff :

[url=http://russian-brides-best.com/]dating[/url]
http://russian-brides-best.com

HsvsRsvsesv :

advair diskus inhaler[url=http://dsssx.com/buy-advair-diskus-usa.html]advair diskus inhaler[/url]

HsvsRsvsesv :

periactin tablets[url=http://dsssx.com/buy-periactin-usa.html]periactin tablets[/url]

HsvsRsvsesv :

singulair online[url=http://dsssx.com/buy-singulair-usa.html]singulair online[/url]

HsvsRsvsesv :

buy allegra d[url=http://dsssx.com/buy-allegra_d-usa.html]buy allegra d[/url]

HsvsRsvsesv :

clemastine fumarate[url=http://dsssx.com/buy-tavist-usa.html]clemastine fumarate[/url]

HsvsRsvsesv :

hydroxyzine atarax[url=http://dsssx.com/buy-atarax-usa.html]hydroxyzine atarax[/url]

HsvsRsvsesv :

zyrtec syrup[url=http://dsssx.com/buy-zyrtec-usa.html]zyrtec syrup[/url]

HsvsRsvsesv :

clarinex[url=http://dsssx.com/buy-clarinex-usa.html]clarinex[/url]

HsvsRsvsesv :

zyrtec d dosage[url=http://dsssx.com/buy-zyrtec_d-usa.html]zyrtec d dosage[/url]

HsvsRsvsesv :

claritin counter over[url=http://dsssx.com/buy-claritin-usa.html]claritin counter over[/url]

HsvsRsvsesv :

albenza[url=http://dsssx.com/buy-albenza-usa.html]albenza[/url]

HsvsRsvsesv :

amoxicillin 500mg[url=http://antibacterialll.com/buy-amoxil-usa.html]amoxicillin 500mg[/url]

HsvsRsvsesv :

mesalamine rectal[url=http://antibacterialll.com/buy-asacol-usa.html] mesalamine rectal[/url]

HsvsRsvsesv :

amoxicillin and rash[url=http://antibacterialll.com/buy-augmentin-usa.html] amoxicillin and rash[/url]

HsvsRsvsesv :

bactrim ds[url=http://antibacterialll.com/buy-bactrim-usa.html] bactrim ds[/url]

HsvsRsvsesv :

cefuroxime axe[url=http://antibacterialll.com/buy-ceftin-usa.html] cefuroxime axe[/url]

HsvsRsvsesv :

chloromycetin eye ointment[url=http://antibacterialll.com/buy-chloromycetin-usa.html] chloromycetin eye ointment[/url]

HsvsRsvsesv :

flagyl use[url=http://antibacterialll.com/buy-flagyl-usa.html] flagyl use[/url]

HsvsRsvsesv :

furazolidone fish[url=http://antibacterialll.com/buy-furoxone-usa.html] furazolidone fish[/url]

HsvsRsvsesv :

noroxin[url=http://antibacterialll.com/buy-noroxin-usa.html]noroxin[/url]

HsvsRsvsesv :

pentasa 500mg[url=http://antibacterialll.com/buy-pentasa-usa.html]pentasa 500mg[/url]

HsvsRsvsesv :

roxithromycin dose[url=http://antibacterialll.com/buy-rulide-usa.html] roxithromycin dose[/url]

HsvsRsvsesv :

ivermectin for dogs[url=http://antibacterialll.com/buy-stromectol-usa.html] ivermectin for dogs[/url]

HsvsRsvsesv :

cefixime suprax[url=http://antibacterialll.com/buy-suprax-usa.html] cefixime suprax[/url]

HsvsRsvsesv :

trimox[url=http://antibacterialll.com/buy-trimox-usa.html]trimox[/url]

HsvsRsvsesv :

veetids[url=http://antibacterialll.com/buy-veetids-usa.html]veetids[/url]

HsvsRsvsesv :

sparfloxacin[url=http://antibacterialll.com/buy-zagam-usa.html] sparfloxacin[/url]

HsvsRsvsesv :

divalproex 500 mg[url=http://zcxxs.com/buy-depakote-usa.html]divalproex 500 mg[/url]

HsvsRsvsesv :

dilantin[url=http://zcxxs.com/buy-dilantin-usa.html]dilantin[/url]

HsvsRsvsesv :

dilantin er[url=http://zcxxs.com/buy-dilantin-er-usa.html]dilantin er[/url]

HsvsRsvsesv :

lamotrigine medication[url=http://zcxxs.com/buy-lamictal-usa.html]lamotrigine medication[/url]

HsvsRsvsesv :

lamotrigine drug[url=http://zcxxs.com/buy-lamictal-dispersible-usa.html]lamotrigine drug[/url]

HsvsRsvsesv :

lyrica medication[url=http://zcxxs.com/buy-lyrica-usa.html]lyrica medication[/url]

HsvsRsvsesv :

phenytoin drug[url=http://zcxxs.com/buy-phenytek-er-usa.html]phenytoin drug[/url]

HsvsRsvsesv :

topamax migraine[url=http://zcxxs.com/buy-topamax-usa.html]topamax migraine[/url]

HsvsRsvsesv :

griseofulvin dose[url=http://zcxxs.com/buy-grisactin-usa.html]griseofulvin dose[/url]

HsvsRsvsesv :

ketoconazole 200 mg[url=http://zcxxs.com/buy-nizoral-usa.html]ketoconazole 200 mg[/url]

HsvsRsvsesv :

sporanox 100mg[url=http://zcxxs.com/buy-sporanox-usa.html]sporanox 100mg[/url]

HsvsRsvsesv :

order cheap asendin[url=http://eurorxd.com/buy-asendin-usa.html]order cheap asendin[/url]

HsvsRsvsesv :

aventyl[url=http://eurorxd.com/buy-aventyl-usa.html]aventyl[/url]

HsvsRsvsesv :

buy celexa[url=http://eurorxd.com/buy-celexa-usa.html]buy celexa[/url]

HsvsRsvsesv :

buy cymbalta[url=http://eurorxd.com/buy-cymbalta-usa.html]buy cymbalta[/url]

HsvsRsvsesv :

buy effexor[url=http://eurorxd.com/buy-effexor-usa.html]buy effexor[/url]

HsvsRsvsesv :

buy effexor online[url=http://eurorxd.com/buy-effexor-xr-usa.html]buy effexor online[/url]

HsvsRsvsesv :

elavil for[url=http://eurorxd.com/buy-elavil-usa.html]elavil for[/url]

HsvsRsvsesv :

buy endep online[url=http://eurorxd.com/buy-endep-usa.html]buy endep online[/url]

HsvsRsvsesv :

geodon bipolar[url=http://eurorxd.com/buy-geodon-usa.html]geodon bipolar[/url]

HsvsRsvsesv :

lexapro and weight gain[url=http://eurorxd.com/buy-lexapro-usa.html]lexapro and weight gain[/url]

HsvsRsvsesv :

online loxitane[url=http://eurorxd.com/buy-loxitane-usa.html]online loxitane[/url]

BroarneWend :

Без салонов красоты и студий загара сложно представить нашу жизнь. Мы уже сами, не осознавая происходящего, регулярно посещаем студии загара, пользуемся услугами салонов красоты. Если нам предложить отказаться от данных услуг, мы испытаем как минимум шок...
А что бы его не испытывать есть[url=http://baseall.ru]baseall.ru[/url]

HsvsRsvsesv :

luvox versus prozac[url=http://eurorxd.com/buy-luvox-usa.html]luvox versus prozac[/url]

HsvsRsvsesv :

pamelor for headache[url=http://eurorxd.com/buy-pamelor-usa.html]pamelor for headache[/url]

HsvsRsvsesv :

paxil online[url=http://eurorxd.com/buy-paxil-usa.html]paxil online[/url]

HsvsRsvsesv :

side effects of paxil cr[url=http://eurorxd.com/buy-paxil-cr-usa.html]side effects of paxil cr[/url]

Choogloonia :

Проект moskow-sun.ru является эксклюзивным порталом в отрасли загара. Портал является структурированной системой объединяющей студии загара, и предоставляющей объективную оценку работы салонов. Объективность оценок в первую очередь достигается с помощью ваших отзывов и оценок студий загара.

HsvsRsvsesv :

seroquel[url=http://eurorxd.com/buy-seroquel-usa.html]seroquel[/url]

HsvsRsvsesv :

sinequan side effects[url=http://eurorxd.com/buy-sinequan-usa.html]sinequan side effects[/url]

HsvsRsvsesv :

generic wellbutrin[url=http://eurorxd.com/buy-wellbutrin-usa.html]generic wellbutrin[/url]

neihoostess :

occushreviche
Интересные новости и не только в [url=http://livjurnal.ru]журнал[/url]
RadyduebyJapy

HsvsRsvsesv :

wellbutrin sronline[url=http://eurorxd.com/buy-wellbutrin-sr-usa.html]wellbutrin sronline[/url]

John722 :

Hello!
cigarettes ,

HsvsRsvsesv :

quit smoking zyban sr[url=http://eurorxd.com/buy-zyban-sr-usa.html]quit smoking zyban sr[/url]

HsvsRsvsesv :

olanzapine zyprexa[url=http://eurorxd.com/buy-zyprexa-usa.html]olanzapine zyprexa[/url]

Dootawrew :

сайт обо всём на свете обо всём

Dootawrew :

сайт обо всём на свете lampara.ru

コメントする