웹마스터 팁

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

본 팁에서 소개하는 방법은 특정 확장 변수만을 대상으로 하므로 작성 및 열람이 설정 되지않은 확장변수는 작성 및 열람이 가능합니다.
본 팁은 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
-->

제목 글쓴이 날짜
css3 안쪽과 바깥쪽 그림자 만들기 입니다 file 낮은자 2014.03.06
css3 둥근테두리 만들기 낮은자 2014.03.06
XE 어플로 만들때 PUSH 기능처리 방법 웹빌드 2014.03.06
폰갭 제작 어플 gcm 발송시 변수 웹빌드 2014.03.04
페이지 모듈에서 다국어 기능 작동 안 하는 버그 패치법 [1] sejin7940 2014.03.04
xe 홈페이지 폰갭으로 묶을때 웹빌드 2014.03.03
방명록 댓글 줄바꿈 메디칼온 2014.03.03
[팁 시리즈 2] 한글 도메인이나 영문 도메인 설정을 잘못 건드려서 사이트의 모든 기능이 거의 먹통입니다! Omega3 2014.03.01
해외 아이피 차단 방법입니다. [3] Flolida 2014.03.01
정규식 문법 웹엔진 2014.02.28
[팁 시리즈 1] 웹 사이트 이전 및 복구/백업(이)가 되지 않습니다! [6] Omega3 2014.02.28
[10원팁] 서버에 계정추가후 새로설치하는데 CSS가 깨진다? [3] 키스미베이베 2014.02.27
nginx 에서 서브도메인 사용시 로그인유지방법 [3] garnecia 2014.02.26
1.5버전대에서 1.7.4버전으로 업데이트시.. [4] 똑디 2014.02.26
누리고 + KCP 결제 모듈 사용시 "연동 모듈 호출 오류" 가 날때 [1] idkiller 2014.02.26
Specify image dimensions socialskyo 2014.02.26
SFTP 적용하기 [6] Seeean 2014.02.24
모바일 게시판에서 이미지 리사이즈 적용방법 [6] socialskyo 2014.02.24
textyle에서 카카오 보내기 버튼 넣기 웹빌드 2014.02.24
부트스트랩 레이아웃 제작시 메뉴 코딩팁 웹빌드 2014.02.23