バージョン選択

フォーラム

メニュー

オンライン状況

69 人のユーザが現在オンラインです。 (57 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 69
もっと...

サイト内検索

質問 > フロント機能 > 任意の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行目付近は以下のようになっていますか?
<!--{if $tpl_prev_url != ""}-->
  <p>
  <a href="<!--{$tpl_prev_url}-->" onmouseover="chgImg('<!--{$TPL_DIR}-->img/cart/b_pageback_on.gif','back');" onmouseout="chgImg('<!--{$TPL_DIR}-->img/cart/b_pageback.gif','back');">
  <img src="<!--{$TPL_DIR}-->img/cart/b_pageback.gif" width="150" height="30" alt="買い物を続ける" name="back" id="back" /></a>&nbsp;&nbsp;
<!--{/if}-->

data/class/pages/cart/LC_Page_Cart.php の161行目付近は以下のようになっていますか?
// 前頁のURLを取得
$this->tpl_prev_url = $objCartSess->getPrevURL();

上記レスに示した 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)
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は90,291名です
総投稿数は110,364件です

投稿数ランキング

1
seasoft
7369
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1693
8
red
1571
9
mcontact
1357
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.