묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
로그인 방식을 아이디에서 이메일로 바꾸려고 합니다.
2009.07.04 20:55
현재는 아이디와 비밀번호를 이용해서 로그인하게 되어있는데요...
여기에서 기존의 아이디대신 (회원정보에 등록된) 이메일로 로그인하게 하려면 어떻게 하면될까요?
비밀번호는 그대로입니다.
그리고, 추후에 가입하는 회원의 경우에는 아이디를 입력받지 않고 싶구요...
XE 자체에서 지원되는 기능이 아닌지라...
일단 기존 아이디들은 관리자 페이지에서 일일이 수정해주셔야 합니다.
그리고 새로 가입하는 회원의 아이디를 이메일로 입력받으려면 조금 복잡한데,
새로운 회원 모듈 스킨을 만들어야 합니다.
최신판이라면 파일을 직접 올려드릴텐데, 1.2.2를 사용하신다니 말로 설명해드리겠습니다..
1. xe/modules/member/skin/의 member_default(혹은 default) 스킨을 하나 복사하여 새로운 스킨을 만듭니다.
(추후 업데이트시 덮어씌워짐을 피하기 위하여)
2. 첨부한 js 파일을 받아 새 스킨 폴더에 넣고,
새 스킨 폴더의 signup_form.html 제일 위에 아래 코드를 추가해 js 파일을 로드하도록 합니다.
<!--%import("emailasid.js")-->
js 파일에는 가입폼을 송출시 이메일email 값을 받아서 아이디user_id 값에 넣어주는 함수 makeas가 들어있습니다.
3. 같은 signup_form.html에서 이번에는 <form ...> 태그를 찾아 아래 코드로 교체해줍니다.
<form id="fo_insert_member" action="./" method="get" onsubmit="return makeas(this);">
4. 역시 같은 signup_form.html 파일, 디자인을 수정해야 하는데 조금 복잡한 부분입니다.
<input ... name="user_id" .../> 부분의 디자인을 아예 들어내버리고(지워버리고),
대신 아까 수정한 <form ...> 아래에 hidden 입력칸들이 있는 자리에
<input type="hidden" name="user_id" value="" />로 아이디 입력칸을 숨겨서 추가해줍니다.
5. 새 스킨 폴더 내의 skin.xml 파일의 <title ...>안의 내용을 적당한 새 이름으로 수정하고,
관리자 페이지 > 회원 관리 > 회원 관리 > 기본 설정 > 맨 아래에 스킨에서 방금 만든 스킨을 선택하고 적용합니다.