質問 > フロント機能 > 任意のHTMLサイトからカート画面に飛ばす場合の戻るボタンの表示 |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
fukap |
投稿日時: 2011/5/15 8:35
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2009/7/7 居住地: 滋賀県 投稿: 907 |
Re: 任意のHTMLサイトからカート画面に飛ばす場合の戻るボタンの表示 ブラウザごとの動作確認は取っていなかったので、試してみましたが、
FireFox3 / Safari5 / Opera11 / Chrome10 / IE8 / IE7 / IE6 で正常に動作しているように見えました。 また、$_SERVER['HTTP_REFERER']が空っぽ、とのことですが、 空であれば、「前のページへ戻る」というボタンも出ないような気がします。 data/Smarty/templates/default/cart/index.tpl の134行目付近は以下のようになっていますか?
data/class/pages/cart/LC_Page_Cart.php の161行目付近は以下のようになっていますか?
上記レスに示した data/class/pages/products/LC_Page_Products_Detail.php の186行目付近と420行目付近以外で、 同じファイル内で setPrevURL を使用している箇所はありませんか? |
smony |
投稿日時: 2011/5/15 13:38
対応状況: −−−
|
常連 ![]() ![]() 登録日: 2010/5/3 居住地: 投稿: 33 |
Re: 任意のHTMLサイトからカート画面に飛ばす場合の戻るボタンの表示 fukap様
ご丁寧なご指摘有り難うございます。 data/Smarty/templates/default/cart/index.tplの<!--{if $tpl_prev_url != ""}-->は、以前削除した状態でテストしており、そのソースを入れると戻るボタンは表示されなくなりました。 LC_Page_Cart.phpの部分は、ご指摘の通りの記述となっておりました。 またLC_Page_Products_Detail.phpで、他にsetPrevURLを使用している箇所は見当たりませんでした。 何故$_SERVER['HTTP_REFERER']が空になるのか不思議ですが、私の場合コミュニティ版(2.4.2-comu)を使用しているのが関係しているのかもしれませんね。。 また色々と試してみます。 有り難うございました。
|
fukap |
投稿日時: 2011/5/15 21:25
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2009/7/7 居住地: 滋賀県 投稿: 907 |
Re: 任意のHTMLサイトからカート画面に飛ばす場合の戻るボタンの表示 ご自分で試してみるとのことなので、これ以上は蛇足かもしれませんが、顛末が気になるので参考まで。
EC-CUBE 2.4.1 で先述した方法を試してみましたが、FireFox3 / Safari5 / Opera11 / Chrome10 / IE8 / IE7 / IE6 では、 問題なく動作しているように見えました。ですので、EC-CUBE 2.4.2-comu だからということはなさそうです。 (もちろんEC-CUBE 2.4.2-comu 固有のバグという可能性もなくはないですが) あと、getPrevURL() や setPrevURL() を以前カスタマイズしたことがあるなら、 そのせいで正常に動作していないという可能性もなくはないかなと思います。 両者とも、data/class/SC_CartSession.php の239〜264行目付近にありますので、 EC-CUBE 2.4.4 のソースとの違いを確認してみるのも良いかと思います。 また、主要ブラウザで、$_SERVER['HTTP_REFERER'] が利用しているブラウザのHTTPリファラを送信しない設定にすることもできるそうです。 プロキシやファイアーウォールソフトウェアの一部でも、同様の機能を備えているものがあるようです。 利用者の多いサイトで、$_SERVER['HTTP_REFERER'] を利用する場合は、利用条件に注記した方がいいかもしれませんね。 http://blog.livedoor.jp/ld_directors/archives/50856112.html やはりpatapata様がサンプルコードで示されたように、 $_SERVER['REQUEST_URI'] を使って、任意のHTML(PHP)のURLをセッションに格納しておき、 LC_Page_Product_Detail.php で 任意のHTML経由とそうでない場合で処理を分岐させる方が、 私のように全てを $_SERVER['HTTP_REFERER'] で済ませようとする短絡的な方法より良いかなと思いますが、 結局、$_SERVER['HTTP_REFERER'] は使っていますし、一抹の不安はありますね。 |
smony |
投稿日時: 2011/5/16 19:52
対応状況: −−−
|
常連 ![]() ![]() 登録日: 2010/5/3 居住地: 投稿: 33 |
Re: 任意のHTMLサイトからカート画面に飛ばす場合の戻るボタンの表示 fukap様
再びご丁寧にご指摘頂き有り難うございます。 data/class/SC_CartSession.php の239〜264行目付近を通常版とコミュ版で比較してみたところ、特に違いは見られませんでした。 またプロキシやウイルスソフトも使用していなく、EC-CUBE側でいじった箇所は、カートに入れる際に表示されるログイン画面を飛ばす処理くらいです。 ただEC-CUBEをいじったのが結構前の事なので、もしかしたら気付かずいじってしまった箇所が他にあるかもしれません。 また時間がある時に、新しく通常版のEC-CUBEをインストールして試してみます。 色々と詳細に渡ってご指摘頂き有り難うございます。
|
« 1 (2) |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |