XpressEngine - 팁 공유 게시판
자신이 생각하기에는 아주 사소한 내용이라도 누군가에게는 큰 도움이 될 수 있습니다.
제로보드4 버전의 팁을 공유하고 싶으시다면 여기로~
제가 올린 팁은 회원리스트를 출력하는데 필요한 부분입니다.
회원의 기본정보 외에 추가로 입력한 정보를 추출하는데 extra_vars라는 부분만 선택하면
추가정보가 한꺼번에 복잡하게 출력되어 원래 설정한 부분부분을 정리하여 추출하는 방식입니다.
수정할 파일은 아래와 같습니다.
내용 : 관리형모듈>위젯>특정 그룹 회원 출력 위젯(member_group)
파일위치 : widgets>member_group>skins>default>list.html
회원 확장값(추가정보) 중에서 휴대전화를 출력하는 것만 예를 들어 만들어 봤습니다.
여기에 쓰인 변수값은 임의한 것이니까 적당하게 지정하세요.
저도 하다보니 답답하여 찾았는데 무식한 방법이지만 쓸만하네요.
빨간색 부분만 입력하면 됩니다.
조금이나 도움이 되었으면 하네요.
////extra_vars의 출력값/////////
O:8:"stdClass":14:{s:10:
"joinadd";s:0:"";s:12:"open_joinadd";s:0:"";s:7:
"mobile";s:16:"010|@|2002|@|2002";s:15:"open_joinmobile";s:1:"Y";s:11: ......;}
//////원하는 위치에 입력 ////////
{@$ev=($val->extra_vars);}
{@$ev_1='";s:';}
{@$ev_2='';} {@$ev=str_replace($ev_1,$ev_2,$ev);} ///// ";s:' 값 제거
{@$s2=strpos($ev,mobile); $e2=strpos($ev,open_mobile); $d2=$e2-$s2;} ////휴대전화의 값 위치
{@$ev_s2=substr($ev,$s2,$d2);}
{@$s2_1=strpos($ev_s2,':"');}
{@$e2_1=strpos($ev_s2,'11:"');} //11:"은 값마다 다름(010|@|2002|@|2002";s:11:")
{@$d2_1=$e2_1-$s2_1;} {@$ev_s2_2=substr($ev_s2,$s2_1,$d2_1);} {@$ev_s2_3=str_replace(':"','',$ev_s2_2);} ////문자 제거 {@$ev_s2_4=str_replace('|@|','-',$ev_s2_3);} ////문자제거
{($ev_s2_4)} //마지막 출력부분
출력 예)------------------------------------------------------------------------------------

<?php
// Create your array()
$array = array("First","Second","Third");
// Create your package
$package = serialize($array);
// You can print your serialized package
// a:3:{i:0;s:5:"First";i:1;s:6:"Second";i:2;s:5:"Third";}
print $package."<br>";
// Unserialize your serialized package with print_r or var_dump
$data = unserialize($package);
print_r($data);
// var_dump($data); // It's same as print_r
// Array ( [0] => First [1] => Second [2] => Third )
?> *.PHP로 하면 함수 적용이 되는데 list.html에서 안되네요.
print ($data[index])하면 되는데.....
고맙습니다. 그리 중요한 문제는 아니었지만 꼭 해 보고 싶은 거였는데... 성공하였습니다.
유용한 팁을 알려주신 '척~'님(정말로 답을 척~ 내놓으시네요...^^)과 도움주신 '김병곤117'님께 감사드립니다.
좋은 팁인듯 한테...무슨 얘기들 나누는지 알수가 없군요..
초보자들을 위해 어떤 파일에서 어떻게 테스트 한다는 설명을 추가해줬으면 고맙겟습니다...
이글 불여우에서 보니까 게시판 리스트가 본문이랑 겹쳐서 나오는데 왜 그러는지 -_-;
특정그룹 회원 출력 위젯(member_group)에서 확장변수를 출력하시려면
위젯 스킨 속의 list.html 에서
<!--@foreach($widget_info->member_list as $key => $val)-->
아래부분에
{@$extravs = unserialize($val->extra_vars)}
위와 같이 입력해서 배열된 변수를 풀어주고,
확장변수 출력을 원하는 곳에
{($extravs->job)}
와 같이 넣어주시면 됩니다 (위의 예시는 확장변수명(항목이름)이 'job' 인 경우)






감사합니다.