XpressEngine과 관련된 팁이나 강좌를 소개하는 게시판입니다.
자신이 생각하기에는 아주 사소한 내용이라도 누군가에게는 큰 도움이 될 수 있습니다.
XE 원 소스 코드를 수정하는 팁은 당장은 도움이 될지 몰라도 결국 XE 업그레이드를 하지 못하게 되니 팁을 올리시는 분이나 팁을 적용하시는 분이나 모두 주의 부탁드립니다.

특정 확장 변수를 대상으로 작성 및 열람의 권한을 설정 할 수 있도록 하는 질문을 몇번 접하여 소개 하고자 합니다.

본 팁에서 소개하는 방법은 특정 확장 변수만을 대상으로 하므로 작성 및 열람이 설정 되지않은 확장변수는 작성 및 열람이 가능합니다.
본 팁은 zbxe 1.0.6(r4581)을 기준으로 작성 하였습니다.
주의 : 본팁을 적용 하시면, 여러분이 사용하시고 있는 게시판스킨에 아래의 5번과 6번의 소스가 적용되지 않으면 확장 변수가 표현 되지 않습니다.  반드시 아래으; 1번 ~ 4번의 모듈 수정 부분을 적용 하시고, 여러분이 사용하시는 모든 게시판스킨에 아래의 5번과 6번의 소스를 적용 하시기 바랍니다. 

본 팁을 적용하신후 게시판 설정>게시판 정보>수정>확장변수에서 확장 변수의 권한을 설정 하시면 됩니다.

1. modules/board/tpl/board_insert.html
    line 184 부분에           소스를 추가 합니다.

<!--@if(!$module_srls)-->
        <
!--@for($i=1;$i<=20;$i++)-->
            <div class="gap1"></div>
            {@ $extra_vars_name = ''}
            {@ $extra_vars_type = ''}
            {@ $extra_vars_grant_type = ''}
            {@ $extra_vars_is_required = ''}
            {@ $extra_vars_default_value = ''}
            {@ $extra_vars_desc = ''}
            {@ $extra_vars_search = ''}
            <
!--@if($module_info->extra_vars[$i])-->
                {@ $extra_vars_name = $module_info->extra_vars[$i]->name}
                {@ $extra_vars_type = $module_info->extra_vars[$i]->type}
               {@ $extra_vars_grant_type = $module_info->extra_vars[$i]->grant_type}
                {@ $extra_vars_is_required = $module_info->extra_vars[$i]->is_required}
                {@ $extra_vars_default_value = $module_info->extra_vars[$i]->default}
                {@ $extra_vars_desc = $module_info->extra_vars[$i]->desc}
                {@ $extra_vars_search = $module_info->extra_vars[$i]->search}
            <
!--@end-->
        <table cellspacing="0" class="adminTable ">
        <col width="150" />
        <col />
        <caption>{$lang->extra_vars} {$i}</caption>
        <tr>
            <th>{$lang->column_name}</th>
            <td><input type="text" name="extra_vars_{$i}_name" value="{$extra_vars_name}" class="inputTypeText w200" /> </td>
        </tr>
        <tr>
            <th>{$lang->column_type}</th>
            <td>
                <select name="extra_vars_{$i}_type">
                    <
!--@foreach($lang->column_type_list as $key => $val)-->
                       
                        <option value="{$key}" <
!--@if($extra_vars_type==$key)-->selected="selected"<!--@end-->>{$lang->column_type_list[$key]}</option>
                       
                    <
!--@end-->
                </select>
            </td>
        </tr>
  
<tr>
            <th>{$lang->grant_type}</th>
            <td>
                <select name="extra_vars_{$i}_grant_type">
                    <
!--@foreach($lang->grant_type_list as $key => $val)-->
                       
                        <option value="{$key}" <
!--@if($extra_vars_grant_type==$key)-->selected="selected"<!--@end-->>{$lang->grant_type_list[$key]}</option>
                       
                    <
!--@end-->
                </select>
            </td>
        </tr>
        <tr>

2. modules/board/tpl/board_info.html
    line 96 부분에           소스를 추가 합니다.

<!--@for($i=1;$i<=20;$i++)-->
    <
!--@if($module_info->extra_vars[$i
])-->
    {@ $extra_vars_name = $module_info->extra_vars[$i]->name}
    {@ $extra_vars_type = $module_info->extra_vars[$i]->type}
   {@ $extra_vars_grant_type = $module_info->extra_vars[$i]->grant_type}
    {@ $extra_vars_is_required = $module_info->extra_vars[$i]->is_required=='Y'?'Y':'N'}
    {@ $extra_vars_default_value = $module_info->extra_vars[$i]->default?$module_info->extra_vars[$i]->default:'&nbsp;'}
    {@ $extra_vars_desc = $module_info->extra_vars[$i]->desc?$module_info->extra_vars[$i]->desc:'&nbsp;'}
    {@ $extra_vars_search = $module_info->extra_vars[$i]->search=='Y'?'Y':'N'}

    <div class="gap1"></div>
    <table cellspacing="0" class="adminTable">
    <col width="150" />
    <col />
    <caption>{$lang->extra_vars} {$i}</caption>
    <tr>
        <th>{$lang->column_name}</th>
        <td>{$extra_vars_name}</td>
    </tr>
    <tr>
        <th>{$lang->column_type}</th>
        <td>{$extra_vars_type}</td>
    </tr>
 
<tr>
        <th>{$lang->grant_type}</th>
        <td>{$extra_vars_grant_type}</td>
    </tr>

3.modules/board/tpl/filter/insert_board.xml
       line 27 부분에           소스를 추가 합니다.

        <param name="header_text" target="header_text" />
        <param name="footer_text" target="footer_text" />
        <param name="admin_id" target="admin_id" />
        <param name="extra_vars_1_grant_type" target="extra_vars_1_grant_type" />
        <param name="extra_vars_2_grant_type" target="extra_vars_2_grant_type" />
        <param name="extra_vars_3_grant_type" target="extra_vars_3_grant_type" />
        <param name="extra_vars_4_grant_type" target="extra_vars_4_grant_type" />
        <param name="extra_vars_5_grant_type" target="extra_vars_5_grant_type" />
        <param name="extra_vars_6_grant_type" target="extra_vars_6_grant_type" />
        <param name="extra_vars_7_grant_type" target="extra_vars_7_grant_type" />
        <param name="extra_vars_8_grant_type" target="extra_vars_8_grant_type" />
        <param name="extra_vars_9_grant_type" target="extra_vars_9_grant_type" />
        <param name="extra_vars_10_grant_type" target="extra_vars_10_grant_type" />
        <param name="extra_vars_11_grant_type" target="extra_vars_11_grant_type" />
        <param name="extra_vars_12_grant_type" target="extra_vars_12_grant_type" />
        <param name="extra_vars_13_grant_type" target="extra_vars_13_grant_type" />
        <param name="extra_vars_14_grant_type" target="extra_vars_14_grant_type" />
        <param name="extra_vars_15_grant_type" target="extra_vars_15_grant_type" />
        <param name="extra_vars_16_grant_type" target="extra_vars_16_grant_type" />
        <param name="extra_vars_17_grant_type" target="extra_vars_17_grant_type" />
        <param name="extra_vars_18_grant_type" target="extra_vars_18_grant_type" />
        <param name="extra_vars_19_grant_type" target="extra_vars_19_grant_type" />
        <param name="extra_vars_20_grant_type" target="extra_vars_20_grant_type" />

4.common/lang/ko.lang.php
      lin 221 부분에           소스를 추가 합니다.
$lang->confirm_leave = '탈퇴 하시겠습니까??';

  $lang->grant_type = '권한';
 $lang->grant_type_list['all_to_all'] = '권한자 작성, 권한자 열람(all_to_all)';
 $lang->grant_type_list['all_to_admin'] = '권한자 작성, 관리자 열람(all_to_admin)';
 $lang->grant_type_list['admin_to_all'] = '관리자 작성, 권한자 열람(admin_to_all)';
 $lang->grant_type_list['admin_to_admin'] = '관리자 작성, 관리자 열람(admin_to_admin)';

 $lang->column_type = '형식';

5. modules/board/skins/xe_board/write_form.html
       line 84 부분에           소스를 추가 합니다.
<!--@if($module_info->extra_vars)-->
    <table cellspacing="0" summary="" class="extraVarsList">
    <col width="150" />
    <col />
    <
!--@foreach($module_info->extra_vars as $key => $val)-->
        <
!--@if($val->name)-->
    <tr>
        <th scope="row">
  
<!--@if($grant->manager && ($val->grant_type=='admin_to_admin' || $val->grant_type=='admin_to_all'))-->
  {$val->name} <
!--@if($val->is_required=='Y')-->*<!--@end-->
  <
!--@elseif($val->grant_type=='all_to_all' || $val->grant_type=='all_to_admin')-->
  {$val->name} <
!--@if($val->is_required=='Y')-->*<!--@end-->
  
<!--@end-->
  </th>
        <td>
  
<!--@if($grant->manager && ($val->grant_type=='admin_to_admin' || $val->grant_type=='admin_to_all'))-->
  <!--#include("./extra_var_form.html")-->
  <
!--@elseif($val->grant_type=='all_to_all' || $val->grant_type=='all_to_admin')-->
  <!--#include("./extra_var_form.html")-->
  
<!--@end-->
  </td>
    </tr>
        <
!--@endif-->
    <
!--@endforeach-->
    </table>
    <
!--@endif
-->

6.  modules/board/skins/xe_board/view_document.html
      line  67 부분에           소스를 추가 합니다.

<!--@foreach($module_info->extra_vars as $key => $val)-->
            <
!--@if($val->name)-->
        <tr>
            <th scope="row">
   
<!--@if($grant->manager && $val->grant_type=='admin_to_admin')-->
   {$val->name}
   <
!--@elseif($oDocument->isEditable() && $val->grant_type=='all_to_admin')-->
   {$val->name}
   <
!--@elseif($val->grant_type=='all_to_all' || $val->grant_type=='admin_to_all')-->
   {$val->name}
  
 <!--@end-->
   </th>
            <td>
                <!--// 확장변수(extra_var)의 type에 따른 값을 출력하기 위해서 특별히 제작된 파일을 include 한다 -->
    
<!--@if($grant->manager && $val->grant_type=='admin_to_admin')-->
                <!--#include("./extra_var_value.html")-->
    <
!--@elseif($oDocument->isEditable() && $val->grant_type=='all_to_admin')-->
    <!--#include("./extra_var_value.html")-->
    <
!--@elseif($val->grant_type=='all_to_all' || $val->grant_type=='admin_to_all')-->
    <!--#include("./extra_var_value.html")-->
    
<!--@end-->
            </td>
        </tr>
            <
!--@end-->
        <
!--@end-->
        </table>
        <
!--@end
-->


댓글 '7'

[레벨:12]대암지기

2008.10.11 20:47:43
*.252.194.212

소스가 잘못된 부분과 보완 부분이 있어 10/11 오후 8시 46분에 재수정 하였습니다.

[레벨:2]투숙하니

2008.11.21 13:50:31
*.102.200.134

대암지기님 정말 죄송하지만
예전에 대암지기님의 글을 보고 그림파일 본문에 자동 삽입이 되는 것을 적용 시켰었습니다.
그런데 이번에 1.06 버젼으로 넘어오면서 그게 안되는데요
지금 아무리 예전의 글을 찾아보려해도 찾을 수가 없습니다...
그 글을 어디서 검색을 해야 볼 수 있을까요... 부탁드립니다. ^-^;

[레벨:2]투숙하니

2008.11.21 16:26:49
*.102.200.134

http://www.zeroboard.com/16467971
찾았습니다 이곳에 있었어요^^;

[레벨:7]애치티

2008.12.01 21:23:37
*.5.139.10

board_info.html file이 없어졌네요. 기다리면 되겠죠

[레벨:7]애치티

2008.12.05 23:59:04
*.5.139.10

너무나 유용한 팁입니다.

그런데 테스트 하다보니 꼭 필요한 옵션 하나가 없습니다.
"권한자 작성, 작성자 열람" 옵션 하나가 더 있어야 랄 듯합니다.
작성자와 최고관리자만 볼수 있는 옵션이 필요한데 지금은 그런 조건을 수행 할 수 없습니다.

꼭 부탁드림니다.

[레벨:1]라이노씨

2009.02.09 10:42:38
*.196.44.154

1.1.X 버전에서
board_info.html

skin.html 로 변경이 되어 작동이 안되는데요.
수정해 주실 수 있는지요?

[레벨:5]도파돌이

2009.06.14 21:47:45
*.209.118.169

1.2.3에서 보니.. 바뀐 것이 넘 많아서.. 적용할 수가 없네요.
문서 첨부 제한 : 0Byte/ 10.00MB
파일 제한 크기 : 2.00MB (허용 확장자 : *.*)
List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 구 동영상 매뉴얼 이동 [2] [레벨:30]zero 2009-09-14 53270
565 초간단 폼메일...소스를 보시면 알거에요.. 수정하셔서 사용해보세요 file [5] [레벨:4]코리아프럼 2008-10-28 3714
564 운영자, 특정레벨이하 사진(이미지) 우클릭 금지 [7] [레벨:2]S K Y 2008-10-27 2874
563 [해결됨]첨부파일 등록이 안될때 (플래시 플레이어 버전문제) file [29] [1] [레벨:16]똑디 2008-10-27 9165
562 1.0.6 업데이트 후 링크 이미지 썸네일 문제 임시해결방법 [4] [레벨:2]라조 2008-10-27 2141
561 카페24 계정 사용 중에 제로보드XE 로그인 오류가 날 때 [1] [레벨:1]vltm 2008-10-24 2317
560 개인 웹서버 백업 및 게시물 등록 날짜 수정 방법 imagefile [7] [레벨:1]eunbini 2008-10-24 3180
559 첨부파일 문제땜에 고생하는 분들께 [8] [레벨:3]좀비이 2008-10-23 4484
558 단일 Windows PC에 다중 버전 IE 설치하기 image [5] [레벨:2]NetEagle 2008-10-22 2317
557 IE의 특정 도메인 인터넷 임시 파일 Cache만 삭제하기 [3] [레벨:2]NetEagle 2008-10-22 2232
556 cafe24사용자중 페이지에서 위젯편집시 자바스크립트 에러나시는 분들 [8] [레벨:9]팔공산 2008-10-17 3049
555 자체 서버에서 제로보드 인스톨하실때 계속 초기화면 가시는 분을 위한 팁!!! imagefile [레벨:1]♡바다.. 2008-10-16 2175
554 꼬리표(태그) 목록 출력 위젯을 전체게시판에 대응하도록 수정하기 [1] [레벨:2]뽀연짱 2008-10-15 2655
553 zbXE 1.0.6 일본어 팩 입니다~ file [8] [레벨:5]쿠로쿠마 2008-10-15 2372
552 게시글 등록시 '제목색깔'과 '제목굵게' 기능을 일반 사용자들에게도 주자. [4] [레벨:30]비나무 2008-10-15 3433
551 제로보드(zbxe) 설치 후 로그인 안되는 문제. [3] [레벨:1]sophistlv.myid.net 2008-10-15 2306
550 UTF-8에서 호환되는 사랑비 BGM 올립니다. file [7] [레벨:1]로로아 2008-10-15 3667
549 진행 표시줄에 떠다니는 글 넣기 image [2] [레벨:1]부안프로그래밍 2008-10-14 1945
548 제로보드XE가입 -> 트랙자동가입 기능 [레벨:6]개돌 2008-10-14 2089
547 통합검색에서 확장변수 검색하기 [5] [레벨:2]StyleD 2008-10-12 3886
» 확장변수 별로 작성 및 열람 권한 설정하기 [7] [레벨:12]대암지기 2008-10-11 2976



XE Login

OpenID Login