質問 > フロント機能 > 「前のページへ戻る」ボタンのリンクについて |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
fukap |
投稿日時: 2011/2/7 17:37
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2009/7/7 居住地: 滋賀県 投稿: 907 |
Re: 「前のページへ戻る」ボタンのリンクについて <input type="hidden" name="mode" value="cart" /> をつけて、detail.php にPOSTしている時点で、
detail.phpの元となっている、LC_Page_Products_Detailで、setPrevURL($_SERVER['REQUEST_URI'])が 実行されているので、そこで前のページがセットされてしまっている・・という理解でよろしいでしょうか。 |
patapata |
投稿日時: 2011/2/7 17:41
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2010/7/7 居住地: 神奈川県 投稿: 502 |
Re: 「前のページへ戻る」ボタンのリンクについて んだね。
その改造だと htmlページ → 詳細ページ → カート って移動になるので処理かえないとできません。 ------------------------------- $refererUrl = $_SERVER['HTTP_REFERER']; //前回ページが以下を含む場合は追加しない $arrNoSave = array( "hogehoge.html", "hogehoge1.html", "hogehoge2.html" ) $isNoSave = false; foreach($arrNoSave as $val) { if(ereg($val, $refererUrl )) { $isNoSave = true; break; } } if(!$isNoSave){ $objCartSess->setPrevURL($_SERVER['REQUEST_URI']); } ------- [ソースはあくまでサンプルです。動作確認もしてません] こんな感じの処理にしないと駄目かなぁ〜 (SC_CartSession.phpのsetPrevURLを改造する方がスマートです) |
fukap |
投稿日時: 2011/2/7 18:48
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2009/7/7 居住地: 滋賀県 投稿: 907 |
Re: 「前のページへ戻る」ボタンのリンクについて patapataさんのコードを、以下の変更を加えた上でLC_Page_Product_Detail.phpの185行目付近に入れてみました。
・一部セミコロンが抜けている箇所があったので、直しました。 ・hogehoge.htmlを、該当のPHPファイル名に変更しました。 特にエラーなどは出ていませんが、やはり「前のページに戻る」を押した場合に、 テンプレートで自動生成された商品詳細ページに戻ります。 まだおかしいところがありますでしょうか? |
fukap |
投稿日時: 2011/2/7 20:50
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2009/7/7 居住地: 滋賀県 投稿: 907 |
Re: 「前のページへ戻る」ボタンのリンクについて patapataさんのコードを少し変えてみたら、期待通りの効果が得られました。
このコードではどうでしょうか? /* LC_Page_Product_Detail.php の185行目あたりに以下を記述 */ $refererUrl = $_SERVER['HTTP_REFERER']; //前回ページが以下を含む場合は追加しない $arrNoSave = array( "hogehoge.html", "hogehoge1.html", "hogehoge2.html" ); $isNoSave = false; foreach($arrNoSave as $val) { if(ereg($val, $refererUrl )) { $isNoSave = true; break; } } if(!$isNoSave){ $objCartSess->setPrevURL($_SERVER['REQUEST_URI']); } else{ $objCartSess->setPrevURL($refererUrl); } |
patapata |
投稿日時: 2011/2/7 21:34
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2010/7/7 居住地: 神奈川県 投稿: 502 |
Re: 「前のページへ戻る」ボタンのリンクについて 作ったhtmlページで、setPrevURL呼んでる筈なのに、
更にelseで記載しないと駄目なのは、なんか腑に落ちませんが。 また、$_SERVER['HTTP_REFERER']は、空っぽの場合もあるからそれで動作検証して動くならいいのかな??? 動作保証は、あくまでご自身で検査してください。私が提供したのはあくまでその場で考えた(既存処理をパクって作った)サンプルです。 |
fukap |
投稿日時: 2011/2/8 10:34
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2009/7/7 居住地: 滋賀県 投稿: 907 |
Re: 「前のページへ戻る」ボタンのリンクについて やはりelse以下の記述をコメントアウトすると元の動作に戻ってしまいました。
とりあえずelse以下の記述も入れた形で、自己責任でしばらく様子を見てみようと思っています。 ところで、オリジナルで作成したPHPページで、以下のコードを記述していますが、 これで$urlの値が次のページに引き渡されるのは、セッションを利用しているからでしょうか。 POSTで投げて変数が引き渡されるのはわかるのですが、以下の処理でどうやって変数が 引き渡されるのか不思議に思いました。 <?php require_once("require.php"); require_once("data/class/SC_CartSession.php"); $objCartSess = new SC_CartSession(); $url = $_SERVER['REQUEST_URI']; $objCartSess->setPrevURL($url); ?> |
patapata |
投稿日時: 2011/2/8 21:32
対応状況: −−−
|
仙人 ![]() ![]() 登録日: 2010/7/7 居住地: 神奈川県 投稿: 502 |
Re: 「前のページへ戻る」ボタンのリンクについて SC_CartSession.php内でセッションは管理しているのでそのまま流用すれば、
できるかな?と思いましたが、うまくできなかったようです。 また該当記述は、現在の処理では意味を成してないので削除して大丈夫な筈です。 |
« 1 2 (3) |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |