バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 「カゴに入れる」ボタンを押したときにログインしているかどうかを調べたい

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
seike
投稿日時: 2012/11/5 12:23
対応状況: −−−
常連
登録日: 2012/7/19
居住地:
投稿: 46
「カゴに入れる」ボタンを押したときにログインしているかどうかを調べたい
お世話になります。
商品一覧画面の「カゴに入れる」ボタンをクリックした時に、ログインしているかどうかを判断したいのですが、
どうしたらいいのかわかりません。

具体的には、
data/Smarty/templates/products/list.tpl のJavaScript の
function fnInCart(productForm) の中で、ログインしていなかったら
alert("カゴに入れる前に会員ログインしてください。");
と表示しようと思っています。

しかし、ログインしているかどうかの情報をどのようにして持ってきたらいいのかがわかりません。
教えていただけないでしょうか。
よろしくお願いします。
--------------------------------------------------
[EC-CUBE] 2.12.2
[レンタルサーバ] 自前サーバー
[OS] Debian 6.0.1 Linux
[PHP] 5.3.3-7+squeeze
[データベース] MySQL 5.1.49-3
[WEBサーバ] Apache2 2.2.16
[ブラウザ] FireFox 15.0
marugizmo
投稿日時: 2012/11/6 6:05
対応状況: −−−
一人前
登録日: 2012/4/6
居住地:
投稿: 147
Re: 「カゴに入れる」ボタンを押したときにログインしているかどうかを調べたい
今晩は

SC_CustomerのisLoginSuccessでログインされているかどうかが取得できますので、これをfnInCartで利用されてはいかがでしょうか。


----------------
Norihiro Maruoka
Wear Net

seike
投稿日時: 2012/11/6 10:51
対応状況: −−−
常連
登録日: 2012/7/19
居住地:
投稿: 46
Re: 「カゴに入れる」ボタンを押したときにログインしているかどうかを調べたい
marugizmo さん、ありがとうございます。
JavaScript からSmarty のアサイン変数が参照できるのですねぇ・・・!

data/class/pages/products/LC_Page_Products_List.phpの
function action() の中に下記のコードを追加しました。

$this->tpl_islogin_flag = SC_Customer::isLoginSuccess();

さらに、fnInCartのなかで

var isLoginFlag = "<!--{$tpl_islogin_flag}-->";
if (isLoginFlag != 1){
alert("カゴに入れる前にログイン、または会員登録してください。");
return;
}

の様にすれば、期待していたとおりの動作が出来ましたが
これでいいのでしょうかねぇ・・・。

JavaScriptの中で、SC_Customer::isLoginSuccess() を呼び出すとエラーが出たので
このようにしました。
JavaScriptはブラウザー側での動作なので、当然だと思いますが・・・。
marugizmo
投稿日時: 2012/11/6 11:46
対応状況: −−−
一人前
登録日: 2012/4/6
居住地:
投稿: 147
Re: 「カゴに入れる」ボタンを押したときにログインしているかどうかを調べたい
こんにちは

引用:

data/class/pages/products/LC_Page_Products_List.phpの
function action() の中に下記のコードを追加しました。

$this->tpl_islogin_flag = SC_Customer::isLoginSuccess();

さらに、fnInCartのなかで

var isLoginFlag = "<!--{$tpl_islogin_flag}-->";
if (isLoginFlag != 1){
alert("カゴに入れる前にログイン、または会員登録してください。");
return;
}



$this->tpl_islogin_flag = SC_Customer::isLoginSuccess();はPHP側でOKです。

javascript側は複数ブラウザで確認された方が良いと思いますが、動くのであれば問題ないと思います。

問題点あれば、識者の方に突っ込んでいただいた方が良いかと。


----------------
Norihiro Maruoka
Wear Net

seike
投稿日時: 2012/11/6 11:56
対応状況: −−−
常連
登録日: 2012/7/19
居住地:
投稿: 46
Re: 「カゴに入れる」ボタンを押したときにログインしているかどうかを調べたい
marugizmo さん
ご指摘ありがとうございます。

スマートフォンや携帯では動くかどうかわかりませんねぇ。
確認してみます。
marugizmo
投稿日時: 2012/11/7 11:42
対応状況: −−−
一人前
登録日: 2012/4/6
居住地:
投稿: 147
Re: 「カゴに入れる」ボタンを押したときにログインしているかどうかを調べたい
こんにちは

確認してないのですが、携帯でJavaScriptは利用してないはずです。

また、スマートフォン、携帯のテンプレートは別なので、Smarty側は別途対応する必要があります。


----------------
Norihiro Maruoka
Wear Net

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は89,001名です
総投稿数は110,020件です

投稿数ランキング

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.