메뉴 건너뛰기

MH

내 사랑치 않고 끝내는 것 보다 사랑해서 잃어 버리는 편이 좋다.

It is better to have loved and lost than to have never loved at all.

조회 수 7496 추천 수 0 댓글 2
Extra Form

1강에서는 단순하게 확장변수를 게시판에 적용하는 방법을 공부했다면,

2강부터는 확장변수를 XE함수와 함께 게시판파일들을 수정,적용하여 활용하는 방법을 공부합니다.

 

먼저 오늘의 팁들을 게시판파일들에 적용을 할려면 최소한 파일에디터기 정도는 다룰줄 알아야 합니다.

파일에디터기를 간략히 소개하자면 저 같은 경우는 EditPlus V3.10을 사용합니다.

그 외에도 울트라에디터, 아크로에디터, NotePad++등등이 있습니다.

자신에게 맞는 에디터기를 골라서 사용방법을 손에 익히셔야 에디터작업을 하는데 불편함이 없습니다.

윈도우에 기본으로 내장되어 있는 노트패드나 워드패드 같은 에디터기로 작업을 하시면 안됩니다.

UTF-8로 저장을 할 수 없기 때문입니다. XE core프로그램은 UTF-8로 언어가 저장되어야 합니다.

더불어 한가지 더 이야기하자면 에디터기에서 내장FTP로 접속을 해서 파일들을 불러오고 수정할 수 있는 기능을 잘 활용해야 합니다. 그렇지 않을 경우 파일을 FTP로 접속해서 내려받아서 에디터기로 편집후 다시 FTP로 올리는 번거로운 작업을 해야만 합니다. 보통의 에디터기의 경우 FTP가 내장되어 있습니다. 사용방법은 각 프로그램마다인터넷검색을 하시면 나와 있는 것이 있을 것입니다. 

에디터플러스 내장FTP사용방법 동영상보기

에디터플러스 다운로드

 

그럼 본격적으로 확장변수를 게시판에 활용하는 방법을 설명합니다.

XE에서 사용하는 ./modules/board/skins/xe_official 기본게시판을 기준으로 했을때 

확장변수를 나타내는 부분이 두군데 나옵니다.

write_form.html -- 글작성시 확장변수부분 

view_document.html -- 글내용 보기시 확장변수부분

 

write_form.html 안의 코드입니다.

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

관리자페이지에서 추가한 확장변수부분이 글작성시에 출력되는 내용입니다.

 

여기서 확장변수를 응용해 보겠습니다.

  <!--@foreach($extra_keys as $key => $val)-->
    <!--@if($val->name!="샘플보기 && $val->name!="강의상태" || $grant->manager)-->
      <tr>
        <th scope="row">{$val->name} <!--@if($val->is_required=='Y')-->*<!--@end--></th>
        <td>{$val->getFormHTML()}</td>
      </tr>
   <!--@else-->
        <tr>
          <th scope="row">{$val->name} <!--@if($val->is_required=='Y')-->*<!--@end--></th>
          <td>{$val->getFormHTML()}</td>
        </tr>
    <!--@endif-->   
  <!--@endforeach-->

 

위와 같이 노란색부분을 추가합니다.

<!--@if($val->name!="샘플보기" || $grant->manager)-->

해석은

$val->name! =  -- 지정한 "입력항목이름"이 아니란 뜻입니다. (여기서 ! 가 아니란 뜻입니다.)

"샘플보기" -- 이 부분은 "입력항목이름"부분이 됩니다. 1장에서 말한 제목에 해당됩니다.

                     이 강의노트 게시판의 경우 샘플보기, 강의상태 부분이 되겠죠

|| $grant->manager --  이 부분은 XE 회원권한 내부함수인 "관리그룹이면" 이란 뜻입니다.

 

종합해 보면 "입력항목이름"중에서 샘플보기 and 강의상태 이 부분을 관리자그룹은 글작성시 출력되고 일반적으로는 출력이 안 되게 한다는 내용입니다.

왜! 필요할까요. 확장변수를 추가해야 하는데 굳이 일반적으로는 보이고 싶지 않고 관리자만 보고 싶은 내용이 있을 수 있습니다. 예를 들자면 상담내용후의 결과라던지 관리자의 견해 같은 경우가 되겠죠.      

 

자 그럼 이 코드에서 "샘플보기" "강의내용" 이 부분을 직접적으로 적어주면 다른 게시판에서나 이름 변경시 문제가 되겠죠. 그래서 이 부분을 함수로 직접 만들어서 적용을 해야 합니다.

 

skin.xml파일에 함수를 추가합니다. 

<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>

그리고 "샘플보기" "강의상태" 이부분을

$module_info->extra_val_name1 / $module_info->extra_val_name2 이렇게 바꾸어 주면 됩니다.

참고로 extra_val_name1 이 부분들은 편집하시는 분이 임의의 이름으로 주시면 됩니다.

 (예 : a1 / a2 이렇게 하셔도 된다는 뜻입니다) 

그리고 게시판스킨관리에 들어가서 입력항목 이름1 / 입력항목 이름2 이 항목들에 샘플보기 / 강의상태를 적어주시면 해당 항목이 글작성시 히든으로 됩니다. 물론 관리자는 보이겠죠.

 

[ 최종소스 ]

<!--@if($val->name!=$module_info->extra_val_name1 && $val->name!=$module_info->extra_val_name2 || $grant->manager)-->

 

[ 관리자가 본 글작성 ]

e2_1.jpg

 

[ 일반적으로 본 글작성 ]

e2_2.jpg

Who's 팔공산

profile

이 世上에서 現在가 가장 중요한 時間이며,
내가 만나고 있는 바로 그 사람이 第一 중요한 사람이며,
同時에 가장 중요한 것은 그 사람에게 善으로서 行하는 것이다.

Atachment
첨부 '2'
    Tip이 도움이 되었다면 댓글과 평가 부탁합니다. Tip에 대한 궁금한 점은 댓글로 남겨 주시면 성심껏 답변 드립니다.
?
  • profile
    SuperBox 2018.12.01 15:19
    안녕하세요. 귀한 팁 발견해서 적용해봤는데 혹시 라이믹스+아플로스 게시판 스킨에도 이 팁이 적용이 될까요?
    <block loop="$extra_keys=>$key,$val">
    <!--@if($val->name!=$module_info->extra_val_name1 || $grant->manager)-->
    <tr>
    <th scope="row"><block cond="$val->is_required=='Y'">*</block> {$val->name}</th>
    <td>{$val->getFormHTML()}</td>
    </tr>
    <!--@else-->
    <tr>
    <th scope="row">{$val->name} <!--@if($val->is_required=='Y')-->*<!--@end--></th>
    <td>{$val->getFormHTML()}</td>
    </tr>
    <!--@endif-->
    </block>
    이 부분을 찾아서 위처럼 해주고 skin.xml에도 설명하신 것 처럼 추가 해주고 했는데도 안되네요. 저는 1개 항목만 가리면 되서 extra_val_name1 한 개만 추가했습니다. 그리고 게시판 스킨관리에서 답변상황이라고 항목이름을 줬습니다.
    펼치기
    접기
  • profile
    팔공산 2018.12.01 17:43

    SuperBox 님에게 달린 댓글

    라이믹스 + sketchbook5에서 지금도 잘 사용하고 있습니다.
    제가 아플로스 게시판은 사용해 보질 않아서 정확한 답변은 드리기 어렵네요.
    근데 다르진 않을거예요.
    펼치기
    접기

List of Articles
번호 분류 제목 원작자 날짜 조회 수 적용여부
192 Xe 썸네일 특정 파일로 불러오기 file Lansi 2014.01.28 2650 NO
191 Xe 나름 강력할 것 같은 스팸방지 팁 꿈섬 2013.08.23 3074 적용
190 Xe 이미 입력되어 있는 트랙백 엮인글 한번에 삭제하고 카운트 0 으로 세팅하기(초보자용)(추가) 푸시아 2013.06.10 5243
189 문하우스 페이지하단으로 보내기 스크립트 80san 2013.01.19 3092
188 문하우스 움직이는Gif 파일을 게시판 갤러리형식 썸네일에서 움직이게 보이기 file 80san 2012.01.30 5279
187 문하우스 XE 1.5 이상의 버전 에서 게시판을 블로그형식으로 지정시 댓글부분 오류 해결방법 1 file 80san 2012.01.30 7720
186 Xe 화일첨부 디렉토리의 빈 폴더 삭제... file 카르마 2012.01.21 3282 적용
185 Xe shopXE 에서 배송지 주소 입력 팝업으로 띄우기 file 엄머네과일가계 2011.10.29 3469
184 Xe 내용글 출력시 주소창에 짧은주소(rewrite mod) 출력되게 하기 file 웹 엔진 2011.08.06 6968 적용
183 Xe SCM 플레이어 사용법 file misol 2011.02.22 6488
182 Xe XE 1.4.4.2버전 이후에 짧은주소(rewrite mod) 사용시 아이콘 사리지는 문제점 file 파이델 2011.02.12 5063 적용
181 기타 로고 만들기 초보용 2010.12.10 4346
180 문하우스 Blooz Layout 3.2 레이아웃안에 들어있는 현재위치 메뉴부분 적용팁 1 file Blooz 2010.10.30 9839 변형
179 문하우스 언어선택옆에 언어별국기 출력하기 file 80san 2010.09.17 4482 적용
» 문하우스 확장변수의 활용 2강 -- write_form.html 수정 2 file 2010.09.12 7496
177 문하우스 조회수 따라서 글제목옆에 아이콘출력하기 10 file 80san 2010.09.16 3859 적용
176 문하우스 확장변수의 활용 1강 -- 기본 file 2010.09.11 2129
175 기타 회원목록 리스트에 추가가입폼 내용 출력하기 file - diver - 2010.09.11 3800 NO
174 Xe 게시글 확장변수 순으로 정렬하기 2 file June Oh 2010.08.28 9296
173 Xe 게시판 본문페이지 닉네임 옆에 회원그룹명 사용 1 늘푸른이 2010.08.13 7637
목록
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13

위로
서버에 요청 중입니다. 잠시만 기다려 주십시오...