バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 【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様、親切にありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は88,962名です
総投稿数は110,019件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1296
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.