묻고답하기
대표아이콘과 그룹아이콘 순서바꾸기 또 질문 드립니다.
2013.03.23 08:50
저희 사이트의 경우 그룹아이콘을 사용하고 있습니다. 아이콘샵(자료실)을 적용하여 회원들에게 대표아이콘을 사용하게 하였습니다.
그런데 대표아이콘이 그룹아이콘보다 먼저 나오니 사용하지 않는 사람하고 그룹아이콘 정렬이 되지 않아 그룹아이콘이 먼저 나오게
하고 싶습니다. 그래야 어떤게 그룹아이콘인지 쉽게 식별이 가능해서요.
위 첨부이미지에서 하트,강아지가 대표아이콘이 표시된 것이고 맨 밑에 회원은 그룹아이콘만 표시된 상황입니다.
그룹아이콘을 사용하지 않음으로 설정하면 이렇게 포인트레벨아이콘이 먼저 나오고 뒤에 대표아이콘이 나와서 레벨아이콘을 기준으로
예쁘게 정렬이 됩니다.
그룹아이콘을 적용했을때도 위 포인트레벨아이콘이 나올때 처럼 대표아이콘이 그룹아이콘 뒤로 나타나게 하고 싶습니다.
정말 이거 하고 싶은데 어찌 하지 못하고 있습니다.
도와주세요~~~
댓글 3
-
Fidelity
2013.03.23 10:16
-
몽실아빠
2013.03.23 10:57
무료에요. 자료실에 있는거에요~~ -
몽실아빠
2013.03.23 11:11
member_icon_print.lib.php 의 코드는 아래와 같습니다.<?php/*** @brief div 또는 span에 member_번호 가 있을때 해당 회원 번호에 맞는 대표아이콘으로 대체**/function IconshopMemberIconPrint($matches) {if(strpos($matches[0],'icon_print="no"')!==false) return $matches[0];// 회원번호를 추출하여 0보다 찾으면 본문중 text만 return$member_srl = $matches[3];// 회원이 아닐경우(member_srl = 0) 본문 전체를 returnif($member_srl<0) return $matches[5];$nick_name = $matches[5];// 아이콘샵 모델을 구해옴$oIconshopModel = &getModel('iconshop');// 전역변수에 미리 설정한 데이터가 있다면 그걸 return 하고, 없으면 구해옴if(!$GLOBALS['_iconshopMember'][$member_srl]->cached) {$GLOBALS['_iconshopMember'][$member_srl]->cached = true;// 회원의 대표아이콘 구해옴$icon_data = $oIconshopModel->getMemberIconBySelected($member_srl);if($icon_data && file_exists($icon_data->file1)) $GLOBALS['_iconshopMember'][$member_srl]->icon = $icon_data;else $icon_data = '';} else {$icon_data = $GLOBALS['_iconshopMember'][$member_srl]->icon;}// 대표아이콘이 없으면 원본 정보를 세팅if(!$icon_data) return $matches[0];// 남은시간 검사$now = date("YmdHis");$end_date = $icon_data->end_date;// 시간이 지났을경우 삭제if(($now > $end_date) && ($icon_data->minute_limit == "Y")) {$oIconshopController = &getController('iconshop');$args = null;$args->member_srl = $member_srl;$args->icon_srl = $icon_data->icon_srl;$oIconshopController->deleteMemberIcon($args);// 설정 정보 가져오기if(!$GLOBALS['_iconshopConfig']) {$oModuleModel = &getModel('module');$GLOBALS['_iconshopConfig'] = $oModuleModel->getModuleConfig('iconshop');}$config = $GLOBALS['_iconshopConfig'];// 쪽지발송 Y이면 발송..if($config->item_delete_event == "Y") {$title = str_replace(array("[member_srl]","[nick_name]","[icon_srl]","[icon_title]","[start_date]","[end_date]"),array($member_srl,strip_tags($nick_name),$icon_data->icon_srl,$icon_data->title,zDate($start_date,"Y/m/d H:i"),zDate($end_date,"Y/m/d H:i")),htmlspecialchars(trim($config->item_delete_title)));$content = str_replace(array("[member_srl]","[nick_name]","[icon_srl]","[icon_title]","[start_date]","[end_date]"),array($member_srl,strip_tags($nick_name),$icon_data->icon_srl,$icon_data->title,zDate($start_date,"Y/m/d H:i"),zDate($end_date,"Y/m/d H:i")),htmlspecialchars(trim(nl2br($config->item_delete_message))));$sender_srl = ($config->sender_srl)? $config->sender_srl : $member_srl;$oCommunicationController = &getController('communication');$oCommunicationController->sendMessage($sender_srl,$member_srl,$title,nl2br($content)); // 쪽지발송}unset($GLOBALS['_iconshopMember'][$member_srl]->icon);} else {// 아이콘 표시$nick_name = sprintf('<img src="%s%s" border="0" alt="title: %s" title="title : %s" style="vertical-align:middle;margin-right:3px"/>%s', Context::getRequestUri(),$icon_data->file1, strip_tags($icon_data->title), strip_tags($icon_data->title), $nick_name);}$orig_text = preg_replace('/'.preg_quote($matches[5],'/').'<\/'.$matches[6].'>$/', '', $matches[0]);return $orig_text.$nick_name.'</'.$matches[6].'>';}?> -
몽실아빠
2013.03.23 11:12
member_icon_print.addon.php 의 코드는 아래와 같구요.
<?php
if(!defined("__ZBXE__")) exit();
/**
* @file member_icon_print.addon.php
* @author 러키군 (admin@barch.kr)
* @brief 아이콘샵의 대표아이콘을 출력
**/
/**
* 출력되기 바로 직전일 경우에 이미지이름/이미지마크등을 변경
**/
if($called_position != "before_display_content" || Context::get('act')=='dispPageAdminContentModify') return;
require_once('./addons/member_icon_print/member_icon_print.lib.php');
// 1. 출력문서중에서 <div class="member_번호">content</div>를 찾아 MemberController::transImageName() 를 이용하여 이미지이름/마크로 변경
$output = preg_replace_callback('!<(div|span|a)([^\>]*)member_([0-9]+)([^\>]*)>(.*?)\<\/(div|span|a)\>!is', 'IconshopMemberIconPrint', $output);
?>
아이콘샵이 유료 자료 맞죠? 소스 보기가 불가능해서 답변이 잘 안 달리는 듯 하네요...