묻고답하기
회원 확장애드온에 추가정보를 표시하게 하고 싶습니다
2011.06.16 20:29
거기에다 닉네임 앞에 추가적으로 titlename 이라는 회원정보에서 입력한 정보가 나타나게 하고 싶습니다.
게시판 스킨이라던지 에서는
애드온은 당최 모르겠습니다.;
포인트를 많이 걸고 직접 어딜 어떻게 수정해야 하는지 여쭤봅니다.
댓글 4
-
도라란
2011.06.16 20:35
XE에 기본으로 있는 애드온입니다. -
송동우
2011.06.17 07:46
질문이.....
이미지네임을 출력했을때 그 바로앞에,
회원가입때 추가입력했던 정보를 표시하고 싶다라는 것인가요?
그렇다면
xe - addons - member_extra_info - member_extra_info.lib.php 열고line 36 쯤에
if($image_name_file) $nick_name = sprintf('<img src="%s%s" border="0" alt="id: %s" title="id: %s" style="vertical-align:middle;margin-right:3px" />', Context::getRequestUri(),$image_name_file, strip_tags($nick_name), strip_tags($nick_name));
이것 바로 위에
$sql = "select extra_vars from xe_member where member_srl = ".$member_srl;
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);
이걸 삽입하고
if($image_name_file) $nick_name = sprintf('<img src="%s%s" border="0" alt="id: %s" title="id: %s" style="vertical-align:middle;margin-right:3px" />', Context::getRequestUri(),$image_name_file, strip_tags($nick_name), strip_tags($nick_name));
이것을
if($image_name_file) $nick_name = unserialize($row[extra_vars])->test.sprintf('<img src="%s%s" border="0" alt="id: %s" title="id: %s" style="vertical-align:middle;margin-right:3px" />', Context::getRequestUri(),$image_name_file, strip_tags($nick_name), strip_tags($nick_name));
이것으로 바꾸고....붉은 글씨 test는 추가정보의 변수 이름으로 수정
이렇게 하면 이미지 네임앞에 추가정보 표시됩니다.
=======================================================================
쿼리를
$oDB = &DB::getInstance();
$query = $oDB->_query('select extra_vars from xe_member WHERE member_srl='.$member_srl);
$result = $oDB->_fetch($query);
foreach($result as $key=>$value)
{
$test = unserialize($value)->test;
}
이렇게 날리고
if($image_name_file) $nick_name = $test.sprintf('<img src="%s%s" border="0" alt="id: %s" title="id: %s" style="vertical-align:middle;margin-right:3px" />', Context::getRequestUri(),$image_name_file, strip_tags($nick_name), strip_tags($nick_name));
이렇게 바꿔도 될 겁니다...... 붉은색 test는 추가정보 변수이름으로 수정 -
도라란
2011.06.17 11:40
이미지 닉네임이 없는 경우. (회원가입때 추가입력했던 정보만 있는 경우) 에 닉네임 바로 앞에 표시하고 싶습니다. 어떻게 방법이 없을까요? -
송동우
2011.06.17 12:48
위의 답글에서 쿼리 날리는 부분의 위치를 아래와 같이 변경합니다.
line 33 쯤에
// 이미지이름이나 마크가 없으면 원본 정보를 세팅
이 주석 위에
$oDB = &DB::getInstance();
$query = $oDB->_query('select extra_vars from xe_member WHERE member_srl='.$member_srl);
$result = $oDB->_fetch($query);
foreach($result as $key=>$value)
{
$test = unserialize($value)->변수;
}
이걸 넣고
if(!$image_name_file && !$image_mark_file && !$group_image) return $matches[0];
이것을
if(!$image_name_file && !$image_mark_file && !$group_image) return $test.$matches[0];
이렇게 수정
위의 답글에서 이미지 이름파일앞에 추가정보 나오도록 수정한 것은 그대로 두면 되겠네요... -
도라란
2011.06.17 13:30
정상작동 하네요^^ 감사합니다~
다만 포인트 레벨 아이콘 표시 애드온(XE 기본 포함)과 대표아이콘 출력 애드온(아이콘샵 보조 애드온)을 사용하면
표시순서가
확장정보 - 레벨아이콘 - 아이콘샵 아이콘 - 닉네임
이 되버려 이상해지네요..
이건 어쩔수 없겠죠..ㅎㅎ
정말 감사드립니다~ -
도라란
2011.06.17 13:46
if(!$image_name_file && !$image_mark_file && !$group_image) $nick_name = $test.$matches[0];
로 바꿔서 해결했습니다^^