웹마스터 팁

XE 팁공유게시판에 있는 확장변수 이용 답변완료 이미지 띄우기 간단 팁 을 적용해 보니

확장변수가 1개 이상일때는 표현이 되지를 않는군요.

그리고 이 팁만 적용시킨 게시판스킨을 따로 만들어야 하는 불편함이 있습니다. 

그래서 제가 필요도하고 해서 확장변수가 1개 이상일때도 출력도 되고

게시판설정에서 해당 사항을 설정할수 있게끔 만들어서 따로 게시판스킨을 만들지 않아도 되는 방법을 설명합니다

 

A. ./modules/board/skins/해당스킨/

  1. skin.xml 파일에 추가

<var name="" type="color">
 <title xml:lang="ko">확장변수 이미지출력</title>
 <description xml:lang="ko">아래부터의 선택은 확장변수 이미지출력 선택시만 적용됩니다.</description>
</var>
<var name="extra_val_mid" type="text">
 <title xml:lang="ko"> ┖ 확장변수 mid</title>
 <description xml:lang="ko">이미지로 출력하고 싶은 확장변수의 mid를 적어주세요.</description>
</var>
<var name="extra_val_name1" type="text">
 <title xml:lang="ko"> ┖ 입력항목 이름1</title>
 <description xml:lang="ko">이미지로 출력하고 싶은 입력항목1의 이름을 적어주세요.</description>
</var>
<var name="extra_val_name2" type="text">
 <title xml:lang="ko"> ┖ 입력항목 이름2</title>
 <description xml:lang="ko">이미지로 출력하고 싶은 입력항목2의 이름을 적어주세요.</description>
</var>
<var name="default_name1" type="text">
 <title xml:lang="ko"> ┖ 기본값 이름</title>
 <description xml:lang="ko">이미지로 출력하고 싶은 기본값 이름을 적어주세요.</description>
</var>
<var name="extra_val_image1" type="text">
 <title xml:lang="ko"> ┖ 확정 이미지</title>
 <description xml:lang="ko">확정이미지의 경로를 적어주세요.( 예: http://jcas.co.kr/ok.png )</description>
</var>
<var name="extra_val_image2" type="text">
 <title xml:lang="ko"> ┖ 대기 이미지</title>
 <description xml:lang="ko">대기이미지의 경로를 적어주세요.( 예: http://jcas.co.kr/wait.png )</description>
</var>

   2. write_form.html 수정

[수정전]

 <!--@foreach($extra_keys as $key => $val)-->
        <tr>
          <th scope="row">{$val->name} <!--@if($val->is_required=='Y')-->*<!--@end--></th>
          <td>{$val->getFormHTML()}</td>
        </tr>
<!--@endforeach-->

 

[수정후]

<!--@foreach($extra_keys as $key => $val)-->
  <!--@if($val->name!=$module_info->extra_val_name1 && $val->name!=$module_info->extra_val_name2 || $grant->manager)-->
  <tr>
 <th scope="row">{$val->name} <!--@if($val->is_required=='Y')-->*<!--@end--></th>
 <td>{$val->getFormHTML()}</td>
  </tr>
  <!--@endif-->
  <!--@else-->
 <tr>
   <th scope="row">{$val->name} <!--@if($val->is_required=='Y')-->*<!--@end--></th>
   <td>{$val->getFormHTML()}</td>
 </tr>
<!--@endforeach-->

 

   3. style.list.html 수정

[수정전]

                <!--// 사용자 선언 확장변수일 경우 -->
                <!--@else-->
                        <td>{$document->getExtraValueHTML($val->idx)}&nbsp;</td>
                <!--@end-->
            <!--@end-->

 [수정후]

 <!--// 사용자 선언 확장변수일 경우 -->
 <!--@else-->
   <!--@if(($mid ==$module_info->extra_val_mid) && ($val->name ==$module_info->extra_val_name1)) -->
    <!--@if( ($mid ==$module_info->extra_val_mid) && ($document->getExtraValue(1) ==$module_info->default_name1) || ($document->getCommentCount()) )-->
     <td><center><img src="{$module_info->extra_val_image1}" class="iePngFix" /></center></td>
     <!--@else-->
     <td><center><img src="{$module_info->extra_val_image2}" class="iePngFix" /></center></td>
    <!--@end-->
   <!--@else-->
     <td>{$document->getExtraValueHTML($val->idx)}&nbsp;</td>
   <!--@end-->
 <!--@end-->
<!--@end-->

 

B. 확장변수작성

e1.jpg

 위의 이미지에서 "입력항목 이름" 과 "기본 값"이 중요합니다. 여기서는 "신청상태" "신청완료"( !기억) 

e2.jpg

 "신청상태" 외 "신청완료일"도 추가했습니다.

이상과 같이 확장변수를 추가한 다음 아래 " 스킨관리설정"에 갑니다.

 

C. 스킨관리설정

s1.jpg

  1. 확장변수 mid -- 게시판의 모듈(mid)을 기재합니다.

  2. 입력항목이름 -- 위에서 !기억 하라고 한 입력항목이름 신청상태를 기재합니다.

  3. 기본값이름 -- 기본 값 신청완료를 기재합니다.

  4. 확정/대기이미지 -- 글을 처음 작성했을때 나타나는 대기이미지와

                                   관리자가 댓글을 단 후 나타나는 확정이미지의 경로를 기재합니다.

p.s 이미지경로는 필히 전체경로로 작성해 주세요. ( http://도메인/이미지경로/이미지.png ) 

../ 이나 ./ 사용시 약간의 문제를 일으킵니다.                          

  

D. 게시판

b.jpg

 

여기서 중요한 것 

회원이 글을 작성할때는 "신청상태" 확장변수 부분은 출력이 되지를 않습니다.

그리고 글을 작성하고 나면 신청대기의 이미지가 게시판에 자동으로 출력됩니다.

그 후 관리자가 해당 작성글에 댓글을 달아주거나,

수정을 눌러서 신청상태를 선택하면 게시판에 자동으로 신청완료이미지가 출력됩니다.

그러니까 관리자가 해당글에 댓글을 달거나 수정중 한가지를 선택하면 신청완료가 된다는 이야기입니다.

또한 댓글을 달 수 있는 권한을 관리자에게만 주어야 합니다.

만약 댓글적용을 해제할려면 style.list.html수정에서  || ($document->getCommentCount())  부분을 삭제하시면 됩니다.

 

샘플사이트 구경

제목 글쓴이 날짜

등록된 글이 없습니다.