웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
그룹아이콘이 표시 될 때, 레벨 아이콘 표시 안하기
2009.05.08 03:10
이번에 그룹아이콘을 쓰면서 보니까
그룹아이콘과 레벨아이콘이 같이 쓰이길래
그룹아이콘이 적용중일 경우 레벨아이콘을 표시하지 않도록 바꾸는 방법을 찾아봤습니다.
일단 알아두셔야 할 점은
이거 땜빵 수준을 못벗어난다는 겁니다
분명 좀더 세련된 방법이 있을 것 같긴 한데,
코드가 복잡해서 도저히 못찾겠네요 ㅠ_ㅠ
1. xe/addons/point_level_icon/point_level_icon.lib.php 를 열어 51번째 줄에 (즉 ?> 앞)
/** * 그룹만 표기하는 함수 -_-; **/ function pointGroupIconTrans($matches) { $text = $matches[5]; if(!strpos($text,"files/attach/filebox/")) return pointLevelIconTrans($matches); else return $matches[0]; }
/**
* 그룹만 표기하는 함수 -_-;
**/
function pointGroupIconTrans($matches) {
$text = $matches[5];
if(!strpos($text,"files/attach/filebox/"))
return pointLevelIconTrans($matches);
else
return $matches[0];
}
를 추가합니다. (버그인가요? Code Highlighter 출력이 요상하네요)
2. xe/addons/point_level_icon/point_level_icon.addon.php 을 열어 18번째 줄을
$output = preg_replace_callback('!<(div|span|a)([^\>]*)member_([0-9\-]+)([^\>]*)>(.*?)\<\/(div|span|a)\>!is', 'pointLevelIconTrans', $output);
에서
$output = preg_replace_callback('!<(div|span|a)([^\>]*)member_([0-9\-]+)([^\>]*)>(.*?)\<\/(div|span|a)\>!is', 'pointGroupIconTrans', $output);
으로 바꿔줍니다.
즉, pointLevelIconTrans를 pointGroupIconTrans로 바꿉니다.
이렇게 하면 그룹 아이콘이 출력될대는 레벨 아이콘이 출력되지 않습니다.
저는 그 동안 http://www.xpressengine.com/16465382 4번 팁을 적용한 다음에
addons/member_extra_info/member_extra_info.lib.php에서 아래 문구를 주석처리 한 방법을 썼었는데, 그냥 레벨아이콘 애드온 파일 수정으로 컨트롤이 되는군요.
if($image_mark_file) $nick_name = sprintf('<img src="%s%s" border="0" alt="id: %s" title="id : %s" style="vertical-align:middle;margin-right:3px"/>%s', Context::getRequestUri(),$image_mark_file, strip_tags($nick_name), strip_tags($nick_name), $nick_name);