팁/튜토리얼

레이아웃 및 로그인 위젯에서 포인트 및 레벨 표시하기

2015.11.06 05:31
921
5

기본적으로 포인트와 레벨을 표시하는 코드는 이렇습니다.

 

{@
$oPointModel = &getModel('point');
$point = $oPointModel->getPoint($logged_info->member_srl);
$oModuleModel = &getModel('module');
$config = $oModuleModel->getModuleConfig('point');
$level = $oPointModel->getLevel($point, $config->level_step);
}

위 코드를 먼저 작성하면 포인트모듈에서 멤버별로 포인트와 레벨을 출력할 수 있습니다.

 

포인트는 

{$point}

레벨은 

{$level}

이렇게 작성하면 되죠..

 

여기서 좀더.. 

상위 레벨로 가기 위해 필요한 포인트를 비율로 표시해주고 싶을 경우..

 

{@
$oPointModel = &getModel('point');
$oModuleModel = &getModel('module');
$config = $oModuleModel->getModuleConfig('point');
$point = $oPointModel->getPoint($logged_info->member_srl);
$level = $oPointModel->getLevel($point, $config->level_step);
$nextpoint = $config->level_step[$level+1];
$prepoint = $config->level_step[$level];
$percent = round(($point-$prepoint)/($nextpoint-$prepoint)*100, 2);
}

이렇게 적으면 이전 포인트와 다음 포인트 그리고 퍼센트 비율을 출력해줄 수 있습니다.

 

그리고 레벨 아이콘을 따로 표시해주고 싶을 경우는

{@
$oPointModel = &getModel('point');
$point = $oPointModel->getPoint($memberInfo['member_srl']);
$oModuleModel = &getModel('module');
$config = $oModuleModel->getModuleConfig('point');
$level = $oPointModel->getLevel($point, $config->level_step);
}

이렇게 작성하시고 

<img src="{sprintf('%smodules/point/icons/%s/%d.gif', Context::getRequestUri(), $config->level_icon, $level)}" />

이렇게 작성하면 해당 멤버의 레벨 아이콘을 출력해줄 수 있습니다..

 

참조 : https://xe1.xpressengine.com/qna/23095377

 

eond Lv. 12

댓글 6