묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
이메일 주소 수정 불가능하게 하기
2013.05.18 17:43
안녕하세요
지난 1.7.3.2 버전에서 가입시엔 이메일 입력 가능, 회원정보 수정에서만 수정 불가. 로 사용을 잘 했습니다.
1.7.3.4 버전으로 버전을 올리면서 같은 내용으로 수정을 해주었는데 회원 가입시에도 이메일 입력이 되지 않게 되네요!?
혹시 방식이 바뀌게 되어 생긴 문제인지..
그렇다면 1.7.3.4 에서는 어떻게 수정해야하는지 질문드립니다. ㅠ.ㅠ
=====
1.7.3.2 에서 수정한 내용
xe/modules/member/member.admin.view.php
$inputTag = '<input type="email" name="email_address" id="email_address" value="'.$memberInfo['email_address'].'" />';
-> $inputTag = '<input type="email" name="email_address" id="email_address" value="'.$memberInfo['email_address'].'" readonly="readonly" />';
댓글 4
-
송동우
2013.05.18 18:18
-
크르릉33
2013.05.18 18:34
헉. 처음 알려주신 방법으로 안되서 다시 댓글 달려고 했더니 다른 답글도 달아주셨네요! 감사합니다! 마저 해보고 다시 오겠습니다! -
크르릉33
2013.05.18 18:45
도움 감사합니다. 그런데 알려주신 링크 세곳에 있는 방법을 모두 사용하거나 하나씩 적용해봤으나 수정이 되네요 ㅠ.ㅠ -
크르릉33
2013.05.18 18:46
혹시나 해서 변경하고 입력버튼도 눌러봤는데 수정이 되네요 ㅠ.ㅠ -
송동우
2013.05.18 19:01
1.7.3.4 에서 적용된 모습....
눈으로 보기.....
참고:
안되는 이유는
적용을 잘못했거나
홈에 문제가 있거나...
둘 중 하나일겁니다.....
-
크르릉33
2013.05.18 19:13
답변 감사합니다. 이 답변을 보니 제 질문이 잘못되었네요 ㅠ.ㅠ;; -
크르릉33
2013.05.18 19:14
로그인 방법으로 이메일 계정이 아니라 아이디를 사용하고 있습니다. 설명해주신 방법은 이메일주소를 로그인아이디로 사용할때엔 적용이 되네요! -
크르릉33
2013.05.18 19:15
현재 다른 꼼수로 적용해놨는데 문제가 없으련지 모르겠습니다.. 답변하기로 자세한 내용 올려보겠습니다! -
크르릉33
2013.05.18 19:21
아래 답변하기로해서 현재 적용한 꼼수를 적어놨습니다. 저렇게 조치해도 별 문제가 없으려나요? -
크르릉33
2013.05.18 19:20
이 방법은 실패입니다!!
관리자도 입력하지 못하게 만듭니다 -_-;;;;;
성공 방법은 다른 답글에 달아놨습니다!
이건 그냥 구경용
현재 꼼수로 이렇게 처리해놨습니다.
1. 회원가입 + 회원수정(아이디를 로그인 계정으로 사용할시)에서 모두 이메일 수정 금지
xe/modules/member/member.admin.view.php$inputTag = '<input type="email" name="email_address" id="email_address" value="'.$memberInfo['email_address'].'" />';-> $inputTag = '<input type="email" name="email_address" id="email_address" value="'.$memberInfo['email_address'].'" readonly="readonly" />';2. 회원가입 할때 email 입력 창을 띄우지 않음xe/modules/member/skins/default/signup_form.html<div class="control-group" loop="$formTags=>$formTag" cond="$formTag->name != 'signature'">을<div class="control-group" loop="$formTags=>$formTag" cond="$formTag->name != 'signature'&&$formTag->name!='nick_name'&&$formTag->name!='email_address'">으로 수정(가입시 닉네임도 받지 않으므로 닉네임도 함께 설정되어 있습니다)3. 회원 가입 시 이메일 입력창을 별도로 띄움xe/modules/member/skins/default/signup_form.html약관 동의 체크하는 내용 바로 아래에 이걸 삽입<label class="control-label" for="input01"><em style="color:red">*</em>{$lang->email_address}</label><div class="controls"><input type="email" name="email_address" id="email_address" value="" /></div>이렇게 했을때,아이디를 로그인 계정으로 사용할 경우회원 가입시엔 이메일 입력을 받고, 회원 수정시엔 이메일 수정이 되지 않게 됩니다.다만, 오류가 발생하거나 보안상 다른 문제가 있을지는 모르겠습니다. 괜찮은걸까요? ㅠ.ㅠ혹은 더 세련된 방법이 있을까요? -
크르릉33
2013.05.19 01:25
위에 제가 쓴것처럼 할 경우, 관리자가 회원목록에서 임의로 추가할때도 이메일 입력이 불가능한 문제가 발생했습니다 --;거기서 힌트를 얻었습니다.최종적으로 이렇게 설정해줌으로써 원하는 대로 수정을 완료했습니다.xe/modules/member/member.admin.view.php의else if(($formInfo->name == 'email_address'){$formTag->type = 'email';$inputTag = '<input type="email" name="email_address" id="email_address" value="'.$memberInfo['email_address'].'"/>';}를 찾아서 아래와 같이 수정해줍니다.else if(($formInfo->name == 'email_address') && Context::get('logged_info') && Context::get('logged_info')->is_admin != 'N'){$formTag->type = 'email';$inputTag = '<input type="email" name="email_address" id="email_address" value="'.$memberInfo['email_address'].'"/>';}else if($formInfo->name == 'email_address' && Context::get('logged_info') && Context::get('logged_info')->is_admin == ''){$formTag->type = 'email';$inputTag = '<input type="email" name="email_address" id="email_address" value="'.$memberInfo['email_address'].'"/>';}else if($formInfo->name == 'email_address' && Context::get('logged_info') && Context::get('logged_info')->is_admin != 'Y'){$formTag->type = 'email';$inputTag = '<input type="email" name="email_address" id="email_address" value="'.$memberInfo['email_address'].'" readonly="readonly"/>';}1. 회원인데 관리자일 경우 이메일 입력이 가능합니다.2. 비회원이라면 이메일 입력이 가능합니다.3. 회원인데 관리자가 아닐 경우 이메일 입력이 불가능합니다.즉,회원 가입 시 이메일 주소 입력은 가능하지만 가입 이후 수정에서는 이메일 수정이 불가능합니다.(들어올때는 마음대로지만 나갈때는 아니란다)이렇게 해서 다른 문제가 더 생기지 않는다면 제가 아는한 가장 깔끔한 마무리가 될거 같습니다. ㅎㅎ전부 @송동우 님의 "물떠먹는 방법 교육법" 덕분입니다. (__);
http://www.xpressengine.com/qna/21195048
http://www.xpressengine.com/qna/20764442
http://www.xpressengine.com/qna/20446412