팁/튜토리얼

로그인 위젯에서 그룹명 출력하기

2015.11.06 03:56
877
2
0

참조1. 로그인 스킨 만들 때 유용한 변수 목록

https://xetown.com/index.php?mid=alley&category=15157&document_srl=66400

 

위 글에서 그룹명을 출력하는 변수는 

 

$logged_info->group_list 로그인 사용자 가입 그룹 목록

 

이라고 했는데요,

그룹은 한 사람이 여러개의 그룹에 포함될 수 있어서 체크박스로 되어있습니다.

 

참조2. info.xml checkbox 사용시 레이아웃에서 사용하는 방법

https://xetown.com/index.php?mid=alley&category=15157&document_srl=66021

 

참조2에서럼 체크박스로 된 것은 array로 출력이 되는데요,

그룹도 마찬가지 array로 되어있습니다.

 

{$logged_info->group_list[0]} 이런 식으로 그룹을 확인할 수 있는데요,

 

먼저, array로 출력되는 변수를 각 그룹마다 if else 를 사용해서 지정해서 출력해주는 방법이 있습니다.

 

<!--@if($logged_info->is_admin=="Y" && !$site_module_info->site_srl)-->

  관리자

<!--@else-->

  <!--@if(in_array('VVIP', $logged_info->group_list))-->

    VVIP

  <!--@elseif(in_array('VIP', $logged_info->group_list))-->

    VIP

  <!--@elseif(in_array('정회원', $logged_info->group_list))-->

    정회원

  <!--@else-->

    <!--@if(in_array('준회원', $logged_info->group_list))-->

      준회원

    <!--@else-->

      비회원

    <!--@end-->

  <!--@end-->

<!--@end-->

 

혹은 아래 방법처럼만 작성해주셔도 됩니다.

두번째 방법은 간단하게 implode 함수를 사용하여 문자열로 배열 요소를 결합합니다.

이 경우 모든 배열 원소, 즉 그룹명은 순서대로 모두 출력이 됩니다.

 

{implode(', ', $logged_info->group_list)}

 

참조3. https://xe1.xpressengine.com/qna/22628896

 

세번째 방법은, foreach 를 사용해서 출력해주는 방법입니다.

 

<!--@foreach($logged_info->group_list as $key_group=>$val_group)-->

<!--@end-->

 

$key_group 은 group_srl 값, $val_group 그룹명이 출력됩니다.

Forhanbi님께서 같이 적어주셔서 예제도 함께 적어놓습니다.

 

{@$_idx=0}

<!--@foreach($logged_info->group_list as $key_group=>$val_group)-->
 <!--@if($val_group)-->
<span cond="$_idx<1">{$val_group}</span>
  <!--@end--> 
  {@$_idx++} 
<!--@end-->

 

참조4. https://xe1.xpressengine.com/forum/22563510

eond Lv. 12

댓글 0