묻고답하기
소속그룹이 없다면 이라는 조건문
2015.09.01 12:02
글읽기 스킨에서 탈퇴로 인해 그룹을 가지고 있지 않은 회원을 구분하여 문구를 출력하려고 합니다.
그룹이없는 회원의 조건문 작성을 어떻게 해야 할까요?
<조건문> : 탈퇴회원입니다. <!--@end-->
댓글 15
-
닉이
2015.09.01 14:05
-
몽실아빠
2015.09.01 14:08
제가 현재 고민하고 있는 문제는 (처음부터 자세히 설명 못드려 죄송합니다.)
휴면계정과 탈퇴계정이 구분이 되지 않아서 인데요.
휴면계정과 탈퇴계정의 차이가 문서에서 글작성자의 그룹아이콘이 존재하는 것과 그렇지 않은 것의 차이입니다.
그룹아이콘이 없는 경우 탈퇴된 회원인데요. 그래서 요 조건을 걸어주려고 합니다.
-
몽실아빠
2015.09.01 14:22
다시 여쭙는다면 문서에서 저장하고 있는 작성당시의 회원의 그룹정보를 이용해 탈퇴인지 휴면인지 구분을 해 보려고 시도하고 있습니다.
현재 휴면계정으로 이동된 회원의 경우는 작성한 문서에 그룹정보가 남아있는지 그룹아이콘이 살아있습니다. 탈퇴한 회원은 그룹정보가 없어져서 레벨아이콘이 노출되는 차이가 있구요.
-
닉이
2015.09.01 14:35
{@
$oMemberModel = &getModel('member');
$member_info = $oMemberModel->getMemberInfoByMemberSrl($oDocument->get('member_srl'));
}
<!--@if(!in_array('정회원', $member_info->group_list) && !in_array('관리그룹', $member_info->group_list) )-->
탈퇴한 회원입니다.
<!--@end -->좀더 단순하게 구현할려면 group_srl을 구해서
<!--@if(!$member_info->group_list[그룹srl] && !$member_info->group_list[그룹srl])-->
탈퇴한 회원입니다.
<!--@end -->이렇게 구현하셔도 될꺼같네요.
-
몽실아빠
2015.09.01 14:52
밑에 것으로 해 보았는데 에러가 나네요.
<!--@if(!$member_info->group_list[14119] && !$member_info->group_list[316069] && !$member_info->group_list[3647] && !$member_info->group_list[3646]) && !$member_info->group_list[3] && !$member_info->group_list[2] && !$member_info->group_list[1])-->
탈퇴한 회원입니다.
<!--@end --> -
닉이
2015.09.01 14:56
{@
$oMemberModel = &getModel('member');
$member_info = $oMemberModel->getMemberInfoByMemberSrl($oDocument->get('member_srl'));
}이것도 추가해주셔야되요^^
-
몽실아빠
2015.09.01 15:16
네. 추가 했는데요. 아래 조건문을 넣으면 에러가 납니다. 문서가 깨져요.
-
닉이
2015.09.01 15:33
!$member_info->group_list[3646]) && !$member_info->group_list[3]
괄호 삭제하세요
-
몽실아빠
2015.09.01 15:37
아.. 죄송합니다.
-
몽실아빠
2015.09.01 15:40
답변감사합니다. 휴면계정의 경우도 별도 테이블에 저장되어 그룹을 기존 방식으로 가져오는 것 같지 않네요. @기진곰 님께 도움을 요청드려야 할 듯 합니다.
-
닉이
2015.09.01 15:50
저도 생각을 해봤는데....일반, 휴면, 탈퇴 구분은 현재상태에선 불가능 할꺼같네요. 휴면모듈을 수정하면 가능하겟지만요 ㅎㅎ
-
몽실아빠
2015.09.01 15:53
현재는 정상/휴면or탈퇴 여기 까지만 가능하네요. 저로서는... 근데 휴면계정의 경우 그룹정보를 가져오긴 하는데 그게 휴면계정모듈에서 별도로 지정한 테이블에서 가져올거 같아서 거기서 확인하면 휴면계정을 확인할 수 있을 거 같다는 추측이긴 합니다.
-
몽실아빠
2015.09.01 16:03
지금 db를 살펴보니까요. member-expired 테이블 ? 여기에 휴면상태인 회원들 정보가 있는데요. 요기로 쿼리를 날려서 아까 말씀하신 아이디가 있다면 이라는 조건을 걸수 없을까요 ???
-
닉이
2015.09.01 16:52
{@
$oMemberModel = &getModel('member');
$member_info = $oMemberModel->getMemberInfoByMemberSrl($oDocument->get('member_srl'));
}
<!--@if(!$member_info->user_id)-->
{@
$member_ex_obj->member_srl = $oDocument->get('member_srl');
$member_ex_output = executeQuery('member_expire.getMovedMembers', $member_ex_obj);
$member_ex_count = count($member_ex_output->data);
}
{$member_ex_count}
<!--@if($member_ex_count == 1)-->
휴면회원입니다.
<!--@else-->
탈퇴한 회원입니다.
<!--@end-->
<!--@end-->이렇게 하면 구현은 되긴하네요. 두번이나 돌리는게 좀 걸리긴하지만요. 테이블구조는 같아서 쿼리문을 따로 작성하면 한번에 구현가능도 가능할꺼같은데....시간날때 좀만져봐야겟네요
-
몽실아빠
2015.09.01 16:56
아이고 답변 감사합니다. 기진곰님께 문의과정에서 휴면계정의 정보 이용및 제공이 법률에서 금지하고 있어 휴면으로 따루 구분하여 표시하는건 문제소지가 있네요. 이점은 참고적을 알아야 할 것 같습니다.
도움 감사합니다.
멤버모듈을 호출해서 member_srl로 회원정보를 가져와 비교하는게 더낫지 않을까요?
예를 들어 문서내에서
{@
$oMemberModel = &getModel('member');
$member_info = $oMemberModel->getMemberInfoByMemberSrl($oDocument->get('member_srl'));
}
<!--@if(!$member_info->user_id)-->
탈퇴한 회원입니다.
<!--@end-->