묻고답하기
포인트 랭킹 위젯을 레벨 기준으로 수정하려면?
2015.01.24 01:29
현재 아래와 같이 사용중입니다.
(위젯) 포인트 랭킹 ver. 1.0
http://www.xpressengine.com/?mid=download&package_srl=18324352
(스킨)Elkha - Point Ranking ver. 0.1
http://www.xpressengine.com/?mid=download&package_srl=19080637
1. 정렬의 순서는 포인트나 레벨이나 똑같겠습니다만...
2. 포인트보다는 레벨이 그 상대적 격차가 적어서,
스샷처럼 포인트 바를 표시할 때 적절할 듯 생각됩니다.
(1등과 격차가 클 경우)
3. 그리고
게임처럼 레벨 23Lv 55% 로 표시하면 조금 재밌을 것 같아요.
문제는 혼자 이거 하나 하려면 또 하루 종일 걸린다는거... ^^
하루 종일 걸려도 할 수 있을까 말까...
그래서 질문글좀 올리고 시작하려 합니다.
질문1. 이런 경우
위젯쪽(rank_point.class.php)을 손보는게 좋나요?
아니면
어떻게든 스킨(list.html, script.js)에서 끝내는게 좋은가요?
질문2. 스샷처럼
왼쪽(레벨별 포인트 출력)위젯과
오른쪽 위젯이 두개 있을 경우에
한쪽에서 다른쪽의 데이터를 가져올 수는 없겠죠?
질문3. 수정된 코드를 던져주시면 감사감사
스킨 소스 코드
<!--%import("style.css")--> <!--%import("script.js")--> <div class="ePoint"> <table> <!-- <caption>{$lang->point} {$lang->rank}</caption> --> <thead> <tr> <th>{$lang->rank}</th> <th>{$lang->nick_name}</th> <th>{$lang->level}</th> <th class="point">{$lang->point}</th> <th>{$lang->cmd_site_signup} {$lang->date}</th> </tr> </thead> <!--@if(count($widget_info->point_list))--> {@ $rank = 1; } <tbody> <!--@foreach($widget_info->point_list as $val)--> <tr> <td>{$rank++}</td> <td class="nick"><span class="member_{$val->member_srl}">{$val->nick_name}</span></td> <td>{$val->level}</td> <td class="point"><span><em>{$val->point}</em></span></td> <td>{zdate($val->regdate,"Y-m-d")}</td> </tr> <!--@end--> </tbody> <!--@end--> </table> <address>Skin by <a href="http://elkha.kr">Elkha</a></address> </div>
/** * 김무건 || Elkha (elkha1914@hotmail.com) * http://elkha.kr * 2010-08-19 **/ (function($){ $(document).ready(function(){ _best = $(".ePoint tr:first-child td.point").text(); $(".ePoint td.point span em").each(function(){ _self = $(this).text(); _percent = Math.floor( _self / _best * 100 ); _percent = _percent*(80/100)+20; $(this).animate({"width":_percent + "%"}, 1000); }); }); })(jQuery);
댓글 5
-
세상의모든계산기
2015.01.24 10:01
-
세상의모든계산기
2015.01.24 10:02
시도 1: rank_point.class.php 에 추가
$this->oPointModel = &getModel('level');
=> 결과 : 실패 -
세상의모든계산기
2015.01.24 10:06
login_info 위젯에서 참고할 코드 발견
{@ $oPointModel = &getModel('point'); $point = $oPointModel->getPoint($logged_info->member_srl); $oModuleModel = &getModel('module'); $config = $oModuleModel->getModuleConfig('point'); $level = $oPointModel->getLevel($point, $config->level_step); $level_count = $level+1; $nextPoint = $config->level_step[$level_count];}
-
세상의모든계산기
2015.01.24 10:43
코드를 보다보니
위젯쪽(rank_point.class.php)에서 레벨 관련한 처리를 해줘야 할 것 같네요.
-
세상의모든계산기
2015.01.24 10:45
일단... 포기합니다. ㅠㅠ
1단계 : 레벨 표시