웹마스터 팁

수정하기 전에 반드시 addons/point_level_icon/point_level_icon.lib.php 파일을 백업해두시길 권합니다.



1. 레벨아이콘을 닉네임 뒤로 옮기기


addons/point_level_icon/point_level_icon.lib.php 49라인에서 아래처럼 $text$matches[5]의 위치를 바꾸면 

레벨아이콘이 닉네임 뒤로 가게 됩니다.


        $text = $GLOBALS['_pointLevelIcon'][$member_srl];

        $orig_text = preg_replace('/'.preg_quote($matches[5],'/').'<\/'.$matches[6].'>$/', '', $matches[0]);

        return $orig_text.$matches[5].$text.'</'.$matches[6].'>'; 



2. 이미지마크와 같이 쓸 경우 레벨아이콘을 닉네임 뒤로 옮기기


1번의 코드를 아래와 같이 수정합니다.


        $text = $GLOBALS['_pointLevelIcon'][$member_srl];

        $orig_text = preg_replace('/'.preg_quote($matches[5],'/').'<\/'.$matches[6].'>$/', '', $matches[0]);

        $image_mark_file = $GLOBALS['_transImageNameList'][$member_srl]->image_mark_file;

        if($image_mark_file) {

   return $orig_text.$matches[5].$text.'</'.$matches[6].'>';

        } else {

   return $orig_text.$text.$matches[5].'</'.$matches[6].'>';

        }


이 때 


        if($image_mark_file) {

    return $orig_text.$matches[5].$text.'</'.$matches[6].'>';


여기서 $text를 지우면 이미지마크 사용하는 회원은 레벨아이콘이 출력되지 않게 할 수 있습니다. 

다만 이 경우 레벨아이콘에다 마우스 커서를 올릴 때 나오는 레벨과 포인트 정보는 더 이상 안 나오게 됩니다.



3. 이미지마크를 쓸 경우 레벨아이콘은 다른 아이콘 세트를 사용하기


가령 이미지마크를 쓰는 회원은 기본아이콘을, 안 쓰는 회원은 메달아이콘을 적용하려 한다고 가정합시다.


우선 기본아이콘 폴더와 메달아이콘 폴더를 modules/point/icons/ 아래에 각각 준비합니다.

관리자페이지 > 회원관리 > 포인트시스템에서 레벨아이콘 설정은 메달아이콘이 든 폴더로 설정합니다.

기본아이콘 폴더명은 default 로 해둡니다.


그 뒤 위의 2번 코드에서 


        $image_mark_file = $GLOBALS['_transImageNameList'][$member_srl]->image_mark_file;


를 아래처럼 8라인으로 옮깁니다.


    function pointLevelIconTrans($matches) {

        $member_srl = $matches[3];

        if($member_srl<1) return $matches[0];

        $image_mark_file = $GLOBALS['_transImageNameList'][$member_srl]->image_mark_file;


그리고 '// 레벨 아이콘의 위치를 구함' 이란 부분을 찾아 아래로 교체합니다.


            // 레벨 아이콘의 위치를 구함

            if(!$image_mark_file) 

             $level_icon = sprintf('%smodules/point/icons/%s/%d.gif', Context::getRequestUri(), $config->level_icon, $level);

            else 

             $level_icon = sprintf('%smodules/point/icons/default/%d.gif', Context::getRequestUri(), $level);