質問 > フロント機能 > スマフォで |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
mini777 |
投稿日時: 2012/1/13 12:11
対応状況: −−−
|
一人前 登録日: 2011/11/16 居住地: 投稿: 71 |
スマフォで いつもお世話になっております。
スマフォでデフォルトはスマフォ版のサイトで、リンクかボタンなどでPC版のサイトに切り替える機能を追加したいのですが 素人なのでどこから手を付ければ良いか悩んでいます。 お分かりになる方いましたらアドバイスを頂きたく思います。 EC-CUBEバージョン 2.11.4 PHPバージョン PHP 5.3.6 よろしくお願いします。 |
AMUAMU |
投稿日時: 2012/1/13 15:35
対応状況: −−−
|
神 登録日: 2009/5/2 居住地: 東京都 投稿: 2712 |
Re: スマフォで SC_Display.php 内のdetectDevice()で機種判別をして、各種動作は、その結果に従います。
判別部分において、切り替え要求があったばあいに、強制的にPCとなるようにカスタマイズする形が妥当かと思います。
|
mini777 |
投稿日時: 2012/1/16 11:24
対応状況: −−−
|
一人前 登録日: 2011/11/16 居住地: 投稿: 71 |
Re: スマフォで
detectDevice()関数のreturn DEVICE_TYPE_SMARTPHONE; の前に切り替えフラグ的な物を追加してこのフラグがon(true)だったら return DEVICE_TYPE_PC; off(false)だったら return DEVICE_TYPE_SMARTPHONE; みたいなことでしょうか? |
mini777 |
投稿日時: 2012/1/16 20:10
対応状況: −−−
|
一人前 登録日: 2011/11/16 居住地: 投稿: 71 |
Re: スマフォで とりあえず全ページにあるヘッダーに仮のボタンを置き
$_POST['display_mode']で$_SESSION['pc_disp']を切り替えようと考えました。
仮でLC_Page_FrontParts_Bloc_LoginHeader.phpでボタンを作っています。</form>で閉じると送信したときエラーになってしまいます。
$_POST['display_mode']に"SP","PC"と入っていたらそれぞれ対応する機種IDを返しSC_SmartphoneUserAgent_Ex::setPcDisplayOn(), SC_SmartphoneUserAgent_Ex::setPcDisplayOff() で$_SESSION['pc_disp'] を切り替えています。 ・</form>を閉じるとエラーになる理由 ・うまく切り替わらない理由 が分からなくて対処方も分からず詰まっています。 どう対処すれば良いかご教授頂きたく思います。 よろしくお願いします。 |
AMUAMU |
投稿日時: 2012/1/17 7:22
対応状況: −−−
|
神 登録日: 2009/5/2 居住地: 東京都 投稿: 2712 |
Re: スマフォで エラーの内容が分かりませんが、恐らくTRANSACTION_IDチェックエラーのような?
POSTする処理はTRANSACTION_IDを入れるか、そのチェックを意図的に外す処理を足す必要があります。
|
mini777 |
投稿日時: 2012/1/17 10:33
対応状況: −−−
|
一人前 登録日: 2011/11/16 居住地: 投稿: 71 |
Re: スマフォで
を付加することでPC版に切り替わりました。 しかし、スマフォ版に戻すことが出来なかったです。
※を追加するとスマフォ版に戻す事が出来ました。 あとPC版に切り替えて他のページを見るとスマフォ版に戻ってしまうのは値を保持出来ていないから なのでしょうか? |
AMUAMU |
投稿日時: 2012/1/17 12:59
対応状況: −−−
|
神 登録日: 2009/5/2 居住地: 東京都 投稿: 2712 |
Re: スマフォで 引用:
※を追加するとスマフォ版に戻す事が出来ました。 そうだと思いますが、まずは試して不明な点を質問されると良いと思います。
|
mini777 |
投稿日時: 2012/1/17 13:21
対応状況: −−−
|
一人前 登録日: 2011/11/16 居住地: 投稿: 71 |
Re: スマフォで どうやら値を保持出来ていなかったみたいです。
$_SESSION['pc'] にpc版の時は10を $_SESSION['pc'] にsp版の時は2を 保持しておくようにしました。 これは別の問題ですが sp版とpc版の切り替えがtopページからしか出来ません。 $_SESSION['pc']には対応した値はちゃんと入っていました。 SC_Display_Ex::detectDevice()
最初は$_GETの値,$_GETの値を$_SESSIONに格納した後は$_SESSIONの値でifしています。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |