バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > その他 > 特定の会員のみが購入できるようにしたい

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
leopon
投稿日時: 2013/1/28 1:12
対応状況: −−−
半人前
登録日: 2012/11/5
居住地:
投稿: 29
特定の会員のみが購入できるようにしたい
現在ECCUBE2.12.2で構築中です。
特定の会員の方(上得意様)のみが購入できるようにしたいという要望で、下記を参考に考えております。
http://aerocompact.blog91.fc2.com/blog-entry-12.html

これができれば、URLお知らせして購入して頂けるので、
通常のサイドのカテゴリ表示や商品検索には普段は引っかからずに
済むかなぁと考えております。

しかしながら、過去質問
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=8771&forum=2
でもあるように、参考サイトではバージョン違いもあることと、
最終的にどのようにすればいいのか試したもののわからず
困って投稿させていただきました。

どうかお手数をおかけしますが、お助け頂けると幸いです。
どうぞよろしくお願いいたします。
dkazuto
投稿日時: 2013/1/28 9:36
対応状況: −−−
一人前
登録日: 2012/5/10
居住地:
投稿: 95
Re: 特定の会員のみが購入できるようにしたい
leopon様

こんにちは。

掲載頂いたURL先のソースコードを確認してみましたが、
そのコードでECCUBE2.12.2でも問題なく商品の非公開化はできるかと思います。

このカスタマイズを行ないますと、商品登録時に「シークレット商品」として登録した商品は
URLを直接入力しないとアクセスできなくなります。
商品検索やカテゴリからの参照は出来なくなります。

そのため、leopon様が実現しようとされている特定の会員の方(上得意様)のみが
購入できるようにという要件は満たせるかと思います。

具体的にはどの部分で困られているのでしょうか。

ymiyamura
投稿日時: 2013/1/28 9:37
対応状況: −−−
常連
登録日: 2012/5/11
居住地:
投稿: 36
Re: 特定の会員のみが購入できるようにしたい
参考サイト拝見いたしました。
>EC-CUBEのバージョンは2.4.1と2.12でやりました。

とあり、2.12系であれば動くようにも思えますが、
具体的にどの箇所でエラーが出る、というような情報を示していただくことは可能でしょうか?
もう少し詳細を書き込んでいただいたほうが、アドバイスしやすいかと思います。

よろしくお願い致します。
leopon
投稿日時: 2013/1/28 12:40
対応状況: −−−
半人前
登録日: 2012/11/5
居住地:
投稿: 29
Re: 特定の会員のみが購入できるようにしたい
ありがとうございます。
データベースで、シークレット商品を追加までは分かりますが、
次に具体的に2.12.2の場合、参考サイトにあるファイルのソースでどの部分を触ればいいのかわかりません。
実際管理画面にシークレット商品が追加されても、普通に商品が表示され、何が正しいソースの書き方か分からず悩んでおります。

特定の人のみにURLを知らせて購入できるシークレット商品として扱いたいのですが、ご教授よろしくお願いいたします。
leopon
投稿日時: 2013/1/28 22:26
対応状況: −−−
半人前
登録日: 2012/11/5
居住地:
投稿: 29
Re: 特定の会員のみが購入できるようにしたい
ありがとうございます。
参考サイトを元に試してみました。

1.管理画面のシステム設定->マスターデータ管理 でmtb_dispに3 シークレット商品として追加。

2.商品管理->カテゴリー管理で、「シークレット商品」カテゴリを追加

※参考サイトの3.は、先ほどの「マスターデータ管理」で追加したら管理画面に出てくるので飛ばす。

4.「/data/class/pages/products/LC_Page_Products_List.phpの156行目付近」とありますが、ver2.12.2では515行目あたりの「// 商品IDの正当性チェック」部分のstatus =1の後に OR status = 3を追加。

5.「同じく/data/class/pages/products/LC_Page_Products_List.phpの435行目付近」とあるが、
ver2.12.2では350行目あたり?のような気がしますが、switch文ではないので、よくわかりません・・。

6.「/data/class/pages/products/LC_Page_Products_Detail.phpの123行目付近」は、ver.2.12.2では、/* プロダクトIDの正当性チェック */の253行目あたりにある部分に「OR status=3」追加

7.「/data/class/pages/products/LC_Page_Products_Detail.phpの335行目付近」とあるが、ver2.12.2では、465行目あたり「お気に入り商品登録」のところに「 OR status = 3」追加。

8.「/data/class/pages/products/LC_Page_Products_DetailImage.phpの62行目付近」とあるが、ver2.12.2ではファイルがない。


以上を行って商品をシークレット商品にラジオボタンチェック、カテゴリもシークレット商品カテゴリにして登録すると、
確かに商品はサイドバーなどにも表示されず、
商品idで、http://www.×××.com/products/detail.php?product_id=2 (商品id=2)でアクセスすると表示はされます。
ただし、カテゴリ(http://www.hogehoge.com/products/list.php?category_id=7) (シークレット商品カテゴリ=7)
では、「現在商品はありません」となります。

また、商品idでアクセスして表示された時に、カートに入れると、
カートの中ページへ行くものの、
「※ 現時点で販売していない商品が含まれておりました。
該当商品をカートから削除しました。」
となります。

参考サイトのまま行おうとしたものの、微妙にファイル内が違うかったりするので、つまずいてしまってます。。
どうかご教授お願いいたします。

※ 現在カート内に商品はございません。」





*****追加*****
data/class/SC_CartSession.phpの526行目付近
「if (SC_Utils_Ex::isBlank($product) || $product['status'] != 1)」を
シークレット商品ステータス[3]も適用するため、
「if (SC_Utils_Ex::isBlank($product) || ($product['status'] != 1 && $product['status'] != 3))」
に変更したところ、とりあえず購入までできました。

しかしながら、カテゴリでURL指定してもカートにありませんになるのは解消できてませんが・・・。





dkazuto
投稿日時: 2013/1/28 23:07
対応状況: −−−
一人前
登録日: 2012/5/10
居住地:
投稿: 95
Re: 特定の会員のみが購入できるようにしたい
leopon様

おおよその流れは正しいようです。
5と8はECCUBE2.12では特に必要ないみたいです。

また、カートに入れる際のエラーですが、LC_Page_Cart.phpの内部でカートの中身の正当性を
チェックしている部分が2.12に加えられており、そこも書き換える必要があります。

/data/class/SC_CartSession.phpの526行目当たりの条件を以下のように書き換えます。


if (SC_Utils_Ex::isBlank($product) || $product['status'] != 1 && $product['status'] != 3) {


どうやら、非公開商品がカートにないかをチェックしている部分があるようです。





leopon
投稿日時: 2013/1/28 23:13
対応状況: −−−
半人前
登録日: 2012/11/5
居住地:
投稿: 29
Re: 特定の会員のみが購入できるようにしたい
大変感謝しております!ありがとうございます。
正常にとりあえず表示、購入できました!!

また、カテゴリ指定した場合の表示されない件は、

10./data/class/pages/products/LC_Page_Products_List.phpの351行目
// 商品検索条件の作成(未削除、表示)を
$searchCondition['where'] = 'alldtl.del_flg = 0 AND (alldtl.status = 1 OR alldtl.status = 3)';

にしたら、シークレット商品カテゴリIDしてシークレット商品表示されました。

これで表示はされているものの、間違いないのか心配ですが・・。
本当に勉強になります。ありがとうございます。
keikanri
投稿日時: 2013/5/24 18:13
対応状況: −−−
新米
登録日: 2013/5/24
居住地:
投稿: 3
Re: 特定の会員のみが購入できるようにしたい
こんにちはkeikanriと申します。

私も現在シークレット商品を扱える様に修正したく、当スレッドが大変勉強になっております。ありがとうございます。

現在このスレッドを参考に順番に修正を行なってきました。

現在の状況ですが、カゴの中にシークレット商品は入るのですが、「購入手続き」を実施すると「※ 現在カート内に商品はございません。」というメッセージが発生してしまう状況です。



恐らくスレッド上にある

【また、カートに入れる際のエラーですが、LC_Page_Cart.phpの内部でカートの中身の正当性をチェックしている部分が2.12に加えられており、そこも書き換える必要があります】

という箇所の修正がなされていないからだと思っておりますが、具体的にどの様に修正を実施すればいいのかお手数ですがご教示頂けますでしょうか。

宜しくお願い致します。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は88,872名です
総投稿数は109,999件です

投稿数ランキング

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