제로보드 XE에서는 회원별 설정을 지정하도록 하여 이를 바탕으로 레이아웃 등에서 적절한 처리를 하여 출력 설정을 변경할 수 있다. 방법은 간단하다. 다만, 레이아웃 파일을 수정할 수 있는 약간의 실력이 요구된다.

1. 우선 관리자 페이지에서 "서비스형 모듈" - "회원" 정보에 들어들어가면 우측 상단에 "가입폼관리"가 있다.
여기에서 사용자가 설정가능하도록 할 내용을 추가한다. 예를 들어서 특정 스크립트의 사용 여부를 사용자별로 설정 가능하도록 하기 위해서 아래와 같이 입력한다.

user_option.png

여기서 주의할 것은 "입력항목 이름"에는 반드시 영문으로만 적어야 한다. 더 자세한 회원 확장 정보 설정에 대해서는 공식 메뉴얼을 참고하자.

이렇게 설정하면 각 회원의 회원 정보 수정 화면에서 이 값을 설정할 수 있게 된다. 이렇게 설정된 값을 레이아웃 등에서 이용하는 방법은 다음과 같다.

2. 레이아웃 파일을 에디터로 열어서 상단 부근에 아래 코드를 적절히 삽입한다. 여기에서는 공식 배포본에 포함된 xe_official 레이아웃 파일을 이용해보자. 레이아웃 파일은 layouts/xe_official/layout.html 파일이다.

layouts/xe_official/layout.html
<!-- js 파일 import -->
<!--%import("js/xe_official.js")-->

<!-- 레이아웃과 연동될 css 파일 import -->
<!--@if($layout_info->colorset == "white")-->
    <!--%import("css/white.css")-->
<!--@elseif($layout_info->colorset == "black")-->
    <!--%import("css/black.css")-->
<!--@else-->
    <!--%import("css/default.css")-->
<!--@end-->

<!-- 회원 확장 정보 사용 -->
<!--@if($logged_info->usescript == '사용')-->
<!--%import("js/script.js")-->
<!--@end-->

<!-- 회원 확장 정보 사용 -->
<!--@if($logged_info->usecss == 'CSS Type 1')-->
<!--%import("css/type_1.css")-->
<!--@end-->


위 코드에서 가장 아래 부분에 있는 단락이 새로 추가한 부분이다. 코드를 보면 알겠지만, 위 회원 확장 정보 설정할 때 사용한 "입력항목 이름"을 레이아웃 파일에서 접근하여 사용할 수 있다. 물론 이 확장 정보 외에도 기본 정보들도 $logged_info 변수를 통해 접근할 수 있다.

이와 같이 회원 별로 설정할 수 있는 확장 정보를 추가해주고, 이를 레이아웃 파일 등에서 적절이 이용하면 회원의 설정한 값에 따라 적절한 액션을 취할 수 있다. 이 방법을 이용하면 홈페이지 레이아웃 자체를 회원이 지정 가능하게 하거나, 아니면 CSS 파일을 회원 별로 따로 사용하게 하거나 하는 일들을 할 수 있으니 회원의 입맛이 까다로운 사이트에서는 이용 가치가 있을 거라고 생각된다.