質問 > フロント機能 > 【Ver2.11】かごに入れるボタンでカート画面に遷移しない方法 |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
by0448 |
投稿日時: 2011/12/1 19:19
対応状況: −−−
|
長老 登録日: 2011/9/12 居住地: 横浜市 投稿: 186 |
【Ver2.11】かごに入れるボタンでカート画面に遷移しない方法 ―環境―――――――――――――
EC-CUBE 2.11.2 MySQL 5.1.34-log PHP 5.2.17 ―――――――――――――――― http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=8889&forum=10&post_id=43022#forumpost43022 上記を参考に LC_Page_Products_List.php SC_Response_Ex::sendRedirect(CART_URLPATH); ↓ SC_Response_Ex::sendRedirect($_SERVER['PHP_SELF']); と変更したのですが、カテゴリ画面から全商品画面に遷移してしまいます。 いろいろと修正方法が違うと思われますが、どのようにすればいいのでしょうか? ちなみに、商品はかごに入れることはできました。 そして、「カートに入れましたよ」という画像をクリックした後にカーソール付近に出したいのですが、その方法も教えて頂けないでしょうか? |
nkta |
投稿日時: 2011/12/6 10:36
対応状況: −−−
|
長老 登録日: 2011/5/20 居住地: 東京 投稿: 166 |
Re: 【Ver2.11】かごに入れるボタンでカート画面に遷移しない方法 SC_Response_Ex::sendRedirect($_SERVER['PHP_SELF']);
これで狙ったURLへの遷移はできますが、検索条件を引き継げていないので、全商品の一覧画面になってるんだと思います。 元々フォームのPOST先がproducts/list.phpなので、 「SC_Response_Ex::sendRedirect($_SERVER['PHP_SELF']);」とその1行下の「exit;」を コメントアウトすればうまくいくんじゃないでしょうか。 (…と思ってテスト環境でやってみたら、できたっぽいです。カゴの中の商品数も増えてました。お試しあれ。) ※ 「カテゴリ画面」は、正確に言うと「カテゴリを指定して検索した結果の一覧」です。 また「全商品画面」は「検索条件なしで検索した結果の一覧」です。 要するに全く同じページで、裏側で走ってる検索処理の条件が異なってるということです。 |
by0448 |
投稿日時: 2011/12/6 11:41
対応状況: −−−
|
長老 登録日: 2011/9/12 居住地: 横浜市 投稿: 186 |
Re: 【Ver2.11】かごに入れるボタンでカート画面に遷移しない方法 nkta 様
ご返答ありがとうございます。 おっしゃる通りコメントアウトしただけで、カート画面に遷移しなくなりました。 検索との関係で全商品一覧ページに行くというのがよくわかりました。 とても勉強になります。 ただ、一つなんですがカゴへボタンを押すと、画面が下の方にスクロールした状態で更新されるようなんですが、これを修正する方法はあるのでしょうか? |
nkta |
投稿日時: 2011/12/6 12:10
対応状況: −−−
|
長老 登録日: 2011/5/20 居住地: 東京 投稿: 166 |
Re: 【Ver2.11】かごに入れるボタンでカート画面に遷移しない方法 アンカーの位置はjsで指定してます。
以下、とりあえずページの最上部を指定する方法です。 data/Smarty/templates/default/products/list.tpl の46行目 fnChangeAction("?#product" + product_id); ↓ fnChangeAction("?#top"); こんな感じで。 |
by0448 |
投稿日時: 2011/12/6 13:13
対応状況: −−−
|
長老 登録日: 2011/9/12 居住地: 横浜市 投稿: 186 |
Re: 【Ver2.11】かごに入れるボタンでカート画面に遷移しない方法 nkta 様
ありがとうございます、確かにトップにいくようで、これで指定しているというのが分かりました。 classのほうで指定すると思っていたので、戸惑いました。 fnChangeAction("?#product" + product_id); ↓ fnChangeAction("?#"); 自分なりの浅知恵で上のようにしてみたんですが、ページ最上部に行ってしまいますね。 その場でボタンを押した位置のままという場所指定をしたかったのですが。 勉強がてらjavascriptで検索してみます。 ありがとうございました。 ========================== 追記 検索してみたのですが、どうにもわかりません。 本当に申し訳ないですが、元の位置のままカゴに入れる方法を教えて頂けませんか? ========================== |
nkta |
投稿日時: 2011/12/6 15:41
対応状況: −−−
|
長老 登録日: 2011/5/20 居住地: 東京 投稿: 166 |
Re: 【Ver2.11】かごに入れるボタンでカート画面に遷移しない方法 デフォルトの「fnChangeAction("?#product" + product_id);」で、
各商品に埋め込まれたアンカーの場所に移動するようになってます。 「カゴに入れる」ボタンをクリックした時のスクロール位置を完全に再現するのは難しいと思いますね… POST送信してる以上は、ページの再読込が発生していますので。 アンカーを指定していなければ、ページ読込時の表示位置は最上部になりますから、by0448様が行なった fnChangeAction("?#product" + product_id); ↓ fnChangeAction("?#"); というカスタマイズでページ最上部に飛ぶのも、ページ再読込が理由です。 |
by0448 |
投稿日時: 2011/12/6 15:55
対応状況: 解決済
|
長老 登録日: 2011/9/12 居住地: 横浜市 投稿: 186 |
Re: 【Ver2.11】かごに入れるボタンでカート画面に遷移しない方法 nkta 様
ご返答ありがとうございました。 デフォルトで選択した商品のところには行くようになっているのですね。 その精度というか、見え方がすっかり変わってしまうので違和感があるのでしょうね。 遷移させずに商品をカゴに入れることは分かりましたので、表示位置はごませるような方法を考えてやっていこうと思います。 nkta様、親切にありがとうございました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |