묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
외부 파일에서 그룹부여를 하는 방법 질문
2016.08.23 20:58
외부 php 파일에서 member_srl 또는 id로 특정 그룹 추가나 해제를 하려면 어떤 함수를 사용해야 하나요..?
댓글 6
-
SimpleCode
2016.08.23 21:22
-
댑펑
2016.08.24 13:53
와..친절한 답변 감사드립니다. 테스트 해보겠습니다.
그런데 캐시 갱신 부분은 executeQuery('member.deleteMemberGroupMember', $args); 이 함수에서 해주는게 아니라 따로 해줘야 하는 것인가요..?
-
SimpleCode
2016.08.24 14:32
XE에서는 소속 그룹을 임시로 캐시에 저장해놓기 때문입니다.
해당 쿼리는 DB 상에서 삭제하는 부분이라
캐시에는 여전히 남아있을 수 있기 때문에 비워주는거고요. -
댑펑
2016.08.24 14:33
그렇다면 그룹이 아니라 포인트를 변경할 때도 위의 캐시 클리어를 해줘야 하나요?
-
SimpleCode
2016.08.24 14:37
XE에서 제공하는 포인트 관련 함수를 이용하여 포인트를 변경하면 캐시를 일일이 비워줄 필요가 없죠.
직접 DB에 접근해서 수정하신다면 캐시를 비워주셔야 되고요. -
댑펑
2016.08.24 15:15
음... 포인트와 그룹의 함수가 각각 달라서 그런것으로 이해하면 되는거죠..?
즉 그룹을 변경할때는 캐시를 비워야 하는것...
친절한 답변 감사드립니다.
기본적으로 XE와 연동이 되어 있다는 가정하에서 답변을 드리자면
<?php
$oMemberController = getController('member');
// 그룹 추가
$oMemberController->addMemberToGroup(회원번호, 그룹번호);
// 그룹 삭제
$args = new stdClass;
$args->member_srl = 회원번호;
$args->group_srl = 삭제할 그룹번호;
executeQuery('member.deleteMemberGroupMember', $args);
// 그룹 추가/삭제 후 캐시 비우기
$oMemberController->_clearMemberCache(회원번호, 0);
?>
이런식이면 되겠네요.