XE Tips 는 제가 XE 공홈에 쓴 XE 관련 유용한 팁들입니다. 기능개선은 공홈에 안 적어둔 XE 유용 개선팁들입니다.
유용정보는 외부 검색을 통해 알아낸 소스등을 기재해둔 곳입니다.
버그 신고내역들은 XE 사용하다가 발견한 버그 패치방법들로, Core Issue 에 기록해뒀기에 XE 에 적용이 되었을 가능성이 있겠죠
제가 쓴 글들에 대해 퍼가실때는 꼭 출처를남겨주시고.. (다만 플래시뷰 기반이기에 퍼가기는조금 힘들 수 있겠죠 ^^;)
타회원의 글들도 적혀있는 출처를 같이 꼭 기재해주세요
출처 | sejin7940 |
---|
질문 :
XE 에서는 원칙적으로 포인트를 사용하고 나면
그에 따라 레벨과 그룹이 변경되는 현상이 발생한다.
포인트를 사용해도 레벨이 떨어지지 않고,
즉 레벨은 계속 누적되게 하는 방법이 혹시 있을까요?
======================================
답변 :
XE 에서는 원칙적으로 포인트를 사용하고 나면 그에 따라 레벨과 그룹이 변경되는 현상이 발생한다.
(내용수정 - 13.11.11)
레벨은 별도로 DB에 저장되는게 아니기에
포인트가 차감될때 무조건 떨어지게 되어있다 (포인트 차감시에도 레벨이 유지되려면 DB에 레벨을 저장시켜야한다)
이 팁은... 레벨과 그룹을 연계해놨을 경우...
포인트 차감으로 레벨이 떨어져 그룹이 변경되는걸 막아주는 팁이다. 그룹변화만 막아준다 (레벨은 떨어지지만)
또한 기존에 써놨던 팁은 minus (차감시만 적용되고) 관리자 쪽에서 update 한 경우등에는 적용이 안 되기에
굳이 mode 를 제어할 필요없이 level 만 조정하는게 더 유용할듯 싶다.
modules/point/point.controller.php 에서
function setPoint 함수에서
최신XE 에서는...
if($level != $current_level) 를
if($level > $current_level) 로 변경하면 된다.
과거 XE 버전에서는 ..
if($level != $prev_level) 를
if($level > $prev_level) 로 변경하면 된다.
원본질문 : http://www.xpressengine.com/index.php?mid=qna&document_srl=22383026&act=dispKinView