웹마스터 팁
로그인 후 그룹별로 다른 페이지로 가기 - 업데이트판 v1.5
2009.06.24 01:24
제것보다 더 좋은 것이 나왔습니다. - 소스 수정없이 외부페이지를 하나 만드는 것입니다.
http://www.xpressengine.com/?mid=tip&page=2&document_srl=18718631
참고로 하세요.
그래도 계속 뭐가 어떻게 돌아가는 알고 싶으신 분은 계속 보시고 사용하시기 바람니다.
공부를 좀 해서 완전 업데이트를 합니다. 쪼그만 수정으로 깔끔하게 작동합니다.
전번 허접 버젼에서 제공했던 것은 다 버리시고 이것만 하시면 됩니다.
최종판입니다. 테스트도 했는데 지금 껏 문제는 없는 것 같습니다.
v 1.0 : 누더기판 - 로그인 위젯부분 수정
v 1.1 : 로그인 위젯 변경없이 바로 ModuleObject.class를 직접수정
v 1.2 : 버그수정 (로그 아웃 후 페이지 이동문제)
v 1.3 : 버그수정 - 빨간색 부분 (페이지 이동후 메뉴 작동안됨)
v 1.4 : XE124 버그수정 - 갈색부분 (XE114 와 XE124 차이점 수정. 두 번전에 모두 사용가능)
v 1.5 : XE124, XE131 검정됨 : 관리자가 그룹에 속해 있을때 그룹 페이지로 이동하는 것 수정
예전글 (일부수정) ---------------------------------------------------------------------------------------------------------------
게시판에 찾아보면 종종 문의 하는 사람을 봤습니다. 그래서 아주 허접합지만 도움이 될까 해서 올립니다.
고수님들 수정 부탁드립니다.
적용대상 : 초보를 벗어난 제로보드 사용자중 그룹 관리를 원하는 사람
만든이유 : 한 회사에 사장, 부장, 과장, 대리, 말단 등 여러그룹의 사람들에게 각자의 홈페이지를 따로 보여줄때
따로 만들면 회원 아이디와 패스 공유문제가 생기는데 이것은 그냥 한의 홈페이지를 분류만 합니다.
작동원리 : 로그인 후 그룹을 확인 해서 지정된 페이지로 보낸다.
사장 페이지 - 프로젝트 승인, 자금융자, 부장 괴롭히기, 과장 괴롭히기
부장 페이지 - 기획, 승인, 결재, 말단직원 괴롭히기
말단 페이지 - 커피심부름, 담배심부름
의 페이지가 있을때 그룹에 따라 그 페이지로 자동이동합니다.
1. 관리자 페이지로 가서 회원들의 그룹을 설정한다. (사장그룹, 부장그룹, 과장그룹, 말딴그룹 - 주로 회원 가입시 바로됨)
2. 그룹별 페이지를 만든다. 물론 레이아웃, 메뉴도 따로 만든다. (기본 메뉴얼 참조)
3. 아래것을 짜집기 한다.
3-1 \classes\module\ModuleHandler.class.php 를 수정합니다.
대략 76번째줄
function init() {
$oModuleModel = &getModel('module');
$site_module_info = Context::get('site_module_info');
$logged_info = Context::get('logged_info');
if(($logged_info->is_admin=="N" && $logged_info && $this->mid=='')||($logged_info->is_admin=="N" && $logged_info && $this->mid==시작페이지))
{
foreach($logged_info->group_list as $g)
{
if($g=='사장그룹') { $this->mid = 사장페이지; }
elseif($g=='부장그룹') { $this->mid = 부장페이지; }
else{ $this->mid = 쫄따구페이지; }
}
}
추가 조치 요구사항
1. 첫 로그인 페이지를 하나 만듭니다. 두번다시 돌아오지 않을 페이지입니다.
- 이유 : 저의 기술적인 모자람때문 (공부중인데 끝이 보입니다.)
프로그램은 첫페이지와 회원의 로그인 상태만 확인합니다.
첫페이지에서 로그인만 되면 무조건 지정된 페이지로 자동이동합니다.
관리자는 제외입니다.
2. 로그아웃 후 첫 페이지로 돌아가도록 설정해야합니다.
관리자 => 회원 => 로그아웃 후 에서 설정하시면 됩니다.
- 이유 : 로그아웃후 현재 페이지에서 다른 사람이 로그인 할 경우
그룹 페이지로 가지 못합니다.
프로그램인 첫페이지와 로그인 상태를 확인하기 때문입니다
임시 해결법 그래서 두개의 첫페이지를 만듭니다. 하나는 로그인용 두번째는 전 회원을 위한 페이지.
많이 허접합니다 만 혹시나 하는 사람들에게 필요할지 모르겠습니다.
질문에는 답변할 실력이 안됩니다. 그래도 혹시 제가 알면 연락드리겠습니다.
* 혹시 문제가 발생하면 연락바람니다.