묻고답하기
extra_vars에 대해 stdclass / serialize / unserialize 질문입니다.
2014.08.21 13:28
DB에서 extra_vars 를 위와 같이 정리하고 있네요.
extra_vars 안에 있는 정보중 어느 하나를 뺴와서 뿌려줘야 하는데
현재 위 그림처럼 정리 되어 있는 상태를 serialize 라고 하죠?
unserialize 형태로 뿌려야 할거 같은데.. 방법을 잘 모르겠습니다.
도와주세요~
댓글 10
-
애니즌
2014.08.21 13:41
-
putty
2014.08.21 14:16
$oDocument = $oDocumentModel->getDocument('문서번호'); 에서 문서 번호라는게 어떤건지 잘 모르겠습니다.
url 새로 만들어서 extra_vars 안에 있는 것중에 제가 회원가입 입력폼에 organ_ko 라는 id값으로 사용자가 정보를 입력하게 했거든요.
뿌려주는곳은 새로 만든 url 입니다. 다른것들은 다 가져오는데 extra_vars를 seriallize 되지 않은 상태로 가져와서 원하는것만 뽑을 수가 없네요;;
-
애니즌
2014.08.21 14:32
아 회원 정보군요... 전 게시판 확장변수 인줄 알았네요
-
putty
2014.08.21 14:33
예 회원정보중에 하나를 뿌려주려고 합니다.
-
sejin7940
2014.08.21 13:55
해당 회원의 정보가 $member_info 에 저장되어있다면 ( 회원정보 페이지 등의 경우)
{@
$member_extra_info=unserialize($member_info->extra_vars);
}
{$member_extra_info->가입폼입력항목ID }형태로 출력가능합니다
-
putty
2014.08.21 14:06
현재 {$member_info['extra_vars']} 이렇게 출력하고 있는데 말씀하신 대로면
{@
$member_extra_info=unserialize($member_info->extra_vars);
}
해주고 출력부분을 {$member_info['extra_vars']} 가 아니라 {$member_extra_info->'organ_ko' } 로 바꿔주면 된단 말씀이신가요?
위 처럼 해보니 빈칸으로 나오는데 제가 뭐 틀린건가요?
추가로 {@print_r($member_extra_info);} 해봐도 아무것도 나오지를 않네요;;
이상하네요 $member_info->extra_vars 에 값이 있으니 {$member_info['extra_vars']} 했을때 다 불러오는걸 텐데 왜 값을 못불러 오죠 ;;;;;;;
-
애니즌
2014.08.21 14:33
'' 이거 빼셔야 할듯
{$member_extra_info->organ_ko}
-
putty
2014.08.21 14:39
음 그렇게 해도 안나오네요.
{$member_info['extra_vars']} 할경우 seariallize 형대로 불러옵니다.
윗분 말대로
{@
$member_extra_info=unserialize($member_info->extra_vars);
}
해준후에 print_r로 $member_extra_info 출력 해보면 아무것도 안나오네요;;
참 난감하네요
-
애니즌
2014.08.21 14:38
-
putty
2014.08.21 14:47
맨위에
{@
$extra_vars = unserialize($info->extra_vars);
if($extra_vars)
{
foreach($extra_vars as $key => $val)
{
if(!is_array($val) && strpos($val, '|@|') !== FALSE) $val = explode('|@|', $val);
if(!$info->{$key}) $info->{$key} = $val;
}
}
}
를 선언 해주고 아래에서 {$member_info['extra_vars']} 출력 해보니 안됩니다.
아얘 페이지가 백지로 나와버리네요;
어디다가 뿌릴려구용? xe 내에서 뿌릴꺼면
{@
$oDocumentModel = getModel('document');
$oDocument = $oDocumentModel->getDocument('문서번호');
//원하는 확장변수값
$test = $oDocument->getExtraEidValue('확장변수ID');
}
{$test}
하면 나올건데..
게시판에서 뿌릴꺼면 리스트에서는 $document->getExtraEidValue('확장변수ID'); 하면 바로 뽑을 수 있고
본문이라면 $oDocument->getExtraEidValue('확장변수ID'); 으로 뽑을 수 있지요..(위의 겟모델은 필요없음)