회원에게 공개되는 공간입니다. 올려진 팁이나 자료가 절대적으로 옳은 방법은 아닙니다. 다양한 방법중 하나의 방법임을 이해해 주시기 바라며, 보다 나은 방법이 있거나 궁금한 사항이 있으시면 댓글로 참여해 주시면 감사하겠습니다.

회원가입폼 별도로 추가 구현하기

조회 수 1824 추천 수 0 2010.01.08 16:35:22

우선 act 등록
XE는 act 값에 의해서 process들이 정의가 되는데 회원가입을 처리하는 act는 dispMemberAdminInsert 이다.
추가로 구현하는 부분은 act 값을 편하게 dispMemberAdminInsert2 로 하기로 한다.
dispMemberAdminInsert2 값은 ./modules/member/conf/module.xml 에서 등록할수 있다.
<action name="dispMemberAdminInsert" type="view" standalone="true" />
 <action name="dispMemberAdminInsert2" type="view" standalone="true" />
이런식으로 하나더 등록하면 된다.

act값이 등록되었으면 해당 값이 처리되는 부분에 대해서 정의가 되어야 한다.
./modules/member/member.admin.view.php 파일을 열어서 아래 소스를 추가한다.
        /**
         * @brief 회원 정보 입력 화면 출력-mcs용
         **/
        function dispMemberAdminInsert2() {
            // 추가 가입폼 목록을 받음
            $oMemberModel = &getModel('member');
            Context::set('extend_form_list', $oMemberModel->getCombineJoinForm($this->member_info));
            $member_info = Context::get('member_info');
            $member_info->signature = $oMemberModel->getSignature($this->member_info->member_srl);
            Context::set('member_info', $member_info);
            // 에디터 모듈의 getEditor를 호출하여 서명용으로 세팅
            if($this->member_info->member_srl) {
                $oEditorModel = &getModel('editor');
                $option->primary_key_name = 'member_srl';
                $option->content_key_name = 'signature';
                $option->allow_fileupload = false;
                $option->enable_autosave = false;
                $option->enable_default_component = true;
                $option->enable_component = false;
                $option->resizable = false;
                $option->height = 200;
                $editor = $oEditorModel->getEditor($this->member_info->member_srl, $option);
                Context::set('editor', $editor);     }
            // 템플릿 파일 지정
            $this->setTemplateFile('insert_member2');
           }

여기를 추가하게 되면 act=dispMemberAdminInsert2 이면 insert_member2.html 파일이 보여지게 되는것이다.

즉, 회원 생성화면을 확인 할수 있는것이다.
물론  insert_member.html을 복사하여  insert_member2.html 란 이름으로 저장을 해 놓아야 한다.
insert_member2.html 파일에서는

<filter name="insert" module="member" act="procMemberAdminInsert" extend_filter="member.getJoinFormList" confirm_msg_code="confirm_submit" >
    <form>
        <node target="user_id" required="true" minlength="3" maxlength="20" />
        <node target="user_name" required="true" minlength="2" maxlength="40" />
        <node target="nick_name" required="true" minlength="2" maxlength="40" />
        <node target="email_address" required="true" minlength="1" maxlength="200" filter="email"/>
    </form>
    <parameter>
        <param name="page" target="page" />
        <param name="member_srl" target="member_srl" />
        <param name="user_id" target="user_id" />
        <param name="password" target="password" />
        <param name="user_name" target="user_name" />
        <param name="nick_name" target="nick_name" />
        <param name="homepage" target="homepage" />
        <param name="blog" target="blog" />
        <param name="birthday" target="birthday" />
        <param name="email_address" target="email_address" />
        <param name="allow_mailing" target="allow_mailing" />
        <param name="allow_message" target="allow_message" />
        <param name="denied" target="denied" />
        <param name="is_admin" target="is_admin" />
        <param name="description" target="description" />
        <param name="group_srl_list" target="group_srl_list" />
        <param name="signature" target="signature" />
        <param name="limit_date" target="limit_date" />
    </parameter>
    <response callback_func="completeInsert2">
        <tag name="error" />
        <tag name="message" />
        <tag name="member_srl" />
        <tag name="page" />
    </response>
</filter>
이와 같이 completeInsert2 라는 함수를 호출하도록 한다.
회원 생성화면을 따로 만들었으니 이젠 저장을 눌렀을때 처리되는 부분을 확인해 보자.


저장을 눌렀을때 해당 값이 DB에 저장되게 하는 부분은 /modules/member/tpl/js/member_admin.js 파일에서
호출할 completeInsert2 함수를 별도로 정의한다.

/* 사용자 추가 */
function completeInsert2(ret_obj) {
    var error = ret_obj['error'];
    var message = ret_obj['message'];
    var member_srl = ret_obj['member_srl'];
    var page = ret_obj['page'];
    alert(message);
    var url = current_url.setQuery('act','dispMemberAdminInfo2').setQuery('member_srl',member_srl);
    if(page) url = url.setQuery('page', page);
    location.href = url;
}
 이와 같이 추가 시켜 준다.
저장된 다음 실행될 부분은 dispMemberAdminInfo2 이다.

 


 마지막으로 dispMemberAdminInfo2  부분에 대한 정의를 한다.
/modules/member/member.admin.view.php 파일에서 아래와 같이 소스를 추가한다.

   /**
         * @brief display member information
         **/
        function dispMemberAdminInfo2() {
            $oMemberModel = &getModel('member');
            $oModuleModel = &getModel('module');
            $member_config = $oModuleModel->getModuleConfig('member');
            Context::set('member_config', $member_config);
            Context::set('extend_form_list', $oMemberModel->getCombineJoinForm($this->member_info));
            $this->setTemplateFile('member_info2');
        }

 마지막으로 결과를 보여줄 페이지를 /modules/member/tpl/member_info2.html 파일을 만들어서 보여주면 끝이다.


 

문서 첨부 제한 : 0Byte/ 5368709120.00MB
파일 제한 크기 : 2.00MB (허용 확장자 : *.*)
List of Articles
번호 제목 글쓴이 날짜 조회 수
221 신디케이션(Syndication) 모듈 설치후 확인 imagefile [1] [레벨:30]똑띠 2010-03-24 1309
220 위젯 확장변수 날짜형식 출력하기 [레벨:30]똑띠 2010-03-16 1109
219 권한이 없습니다. 페이지 수정을 할려면... imagefile [레벨:30]똑띠 2010-03-11 1329
218 위젯에서 $widget_info->duration_new 값은 [레벨:30]똑띠 2010-02-19 1371
217 쿼리문으로 스킨 일괄 변경하기 [1] [레벨:30]똑띠 2010-02-16 1468
216 Layout 에 모듈 번호 출력하려면... [레벨:30]똑띠 2010-02-08 1233
215 최신글 위젯 New 표시하기 imagefile [레벨:30]똑띠 2010-02-08 1398
214 XE 에서 Page에 작성한 컨텐츠 저장은? [레벨:30]똑띠 2010-01-25 1552
» 회원가입폼 별도로 추가 구현하기 [레벨:30]똑띠 2010-01-08 1824
212 서브좌측에 메뉴별 이미지 출력하기 [레벨:30]똑띠 2009-12-15 1980
211 회원가입 대상별 가입항목 다르게 처리하기 [1] [레벨:30]똑띠 2009-12-14 1759
210 움직이는 div 처리 file [레벨:30]똑띠 2009-12-03 2339
209 board 스킨 검색폼 리스트 아래로 보내기 [1] [레벨:30]똑띠 2009-11-24 2118
208 회원리스트에 확장변수 출력하기 [2] [레벨:30]똑띠 2009-11-22 2314
207 레이아웃에 언어 고정시키기 [레벨:30]똑띠 2009-11-16 2159
206 텍스타일 생성시 자신의 아이디명으로 블로그 주소 만들기 [레벨:30]똑띠 2009-10-30 2697
205 XE 레이아웃에서 mid 별 이미지 마우스 Over 처리 [레벨:30]똑띠 2009-10-21 3178
204 xml 쿼리 사용법 [레벨:30]똑띠 2009-10-19 3708
203 플래닛 분양을 위한 플래닛 생성 주소. [레벨:1]위즈원 2009-10-15 2777
202 게시판에서 비회원 메일 주소 확인하기 [1] [레벨:30]똑띠 2009-10-12 3095