バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > 会員登録で状況により入力項目を必須・任意と切り替えたい

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
yuugo
投稿日時: 2016/1/18 14:11
対応状況: −−−
新米
登録日: 2016/1/18
居住地:
投稿: 2
会員登録で状況により入力項目を必須・任意と切り替えたい
仕事でECCUBEのカスタマイズ業務を引き継ぎ、初めてソースとにらめっこしています。


会員管理>会員登録でハガキや電話でご注文をいただいた方を登録できるように、
会員状態(ラジオボタン)に[仮会員][本会員]に加えて[非会員]を追加しました。

その際、非会員の場合のみメールアドレスを任意にする必要があるのですが、
どのようにすれば良いのでしょうか。

data/class/pages/admin/customer/LC_Page_Admin_Customer_Edit.phpで必須項目のエラーチェックをする際、

data/class/helper/SC_Helper_Customer.phpの

$objFormParam->addParam('メールアドレス', $prefix . 'email', null, 'a', array('NO_SPTAB', 'EXIST_CHECK', 'EMAIL_CHECK', 'SPTAB_CHECK', 'EMAIL_CHAR_CHECK'));

という部分をコメントアウトするとエラーチェック(EXIST_CHECK)をスルーするようなので、


if ($objFormParam->getValue('status') != 3) { //非会員:3
$objFormParam->addParam('メールアドレス', $prefix . 'email', null, 'a', array('NO_SPTAB', 'EXIST_CHECK', 'EMAIL_CHECK', 'SPTAB_CHECK', 'EMAIL_CHAR_CHECK'));
}

などと条件を加えてみたのですが、$objFormParam->getValue('status')の中身が空のようです。。


プログラミングに慣れておらず、見当違いのコトをしているのではと思い質問させていただきました。





【やりたいこと】会員管理>会員登録で状況により入力項目を必須・任意と切り替える

・会員状態を仮会員・本会員にチェックを入れて登録する際はメールアドレスは必須項目とする
・非会員にチェックを入れて登録する際はメールアドレスは任意項目とする



------------------------------------------------------------------------------------------
[EC-CUBE] 2.13.3
[レンタルサーバ] エックスサーバ
[PHP] PHP 5.3.3
[データベース] MySQL 5.5.45
[WEBサーバ] apache
------------------------------------------------------------------------------------------
tsuji
投稿日時: 2016/1/18 15:24
対応状況: −−−
仙人
登録日: 2013/11/19
居住地:
投稿: 958
Re: 会員登録で状況により入力項目を必須・任意と切り替えたい
yuugo 様


メールアドレスはEC-CUBEのログイン処理などいろいろな部分で
使われています。この部分のチェック処理を外すと思わぬ
ところで不具合が発生するかもしれませんので、十分注意
してください。


> $objFormParam->addParam('メールアドレス', $prefix . 'email', null, 'a', array('NO_SPTAB', 'EXIST_CHECK', 'EMAIL_CHECK', 'SPTAB_CHECK', 'EMAIL_CHAR_CHECK'));
↑を全てコメントアウトするとメールアドレスの項目のデータの取得も
できなくなりますので、必須チェックを外す場合は'EXIST_CHECK'のみ
外すことになります。

if文で必要な場合は、'EXIST_CHECK'つけて必要でない場合は外す
というところでしょうか。



また、SC_Helper_CustomerでaddParamしている段階ではPOST値は
取得できていないので、その時点で値を取り出して操作することは
できません。


この部分でチェックを行おうとすると、この処理の前に非会員の判定
を行って、その値を関数に引数で持たせて、関数内で処理を行う
ということになります。


しかし、メールアドレスをaddParamしている部分までにはいくつか
関数を経由することになるので、それぞれの関数で影響がないよう
に引数を追加する必要があります。


対応が難しい場合は、ダミーでメールアドレスを入力して
運用で回避するという方法もあります。


----------------
****************************************
株式会社システムフレンド
辻 拓也(takuya tsuji)
改造専門店・EC-CUBE工房
****************************************

yuugo
投稿日時: 2016/1/20 15:12
対応状況: −−−
新米
登録日: 2016/1/18
居住地:
投稿: 2
Re: 会員登録で状況により入力項目を必須・任意と切り替えたい
ご返答ありがとうございます。
また、返信遅くなり申し訳ありません。


'EXIST_CHECK'のみ外すことが可能なのですね!

自分なりに勉強しなおし中ですが、プログラミングだんだんと思いだしてきました。

やはりどこかのタイミングでif文で振り分けて、非会員専用ルーチンを用意するなどして対応してみようと思います。

自分のやり方が、あながち間違った考え方ではなかったことに少し安心しました。
どうもありがとうございました。



iamcube
投稿日時: 2016/2/22 17:41
対応状況: −−−
一人前
登録日: 2014/2/14
居住地:
投稿: 96
Re: 会員登録で状況により入力項目を必須・任意と切り替えたい
yuugo 様


実は、現在同じ内容で情報を探していたところ、yuugo様の投稿記事を見つけたのですが、その後メールアドレスなしでの登録は出来ましたでしょうか。

もともとの質問されていた内容も、よく理解できない状態なのですが、その後、可能になったようであれば詳細を教えて頂きたく、ご連絡させて頂きました。

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


 



ログイン


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

統計情報

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

投稿数ランキング

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