Skip to content
TUWLAB.com
모든 게시물에 대하여 '링크'
방식의 퍼가기만 허용합니다.
한양대학교 전자통신컴퓨터공학부
바라미
  • 398
  • 2591690
DNS Powered by DNSEver.com
XE

XE 게시판 '스킨 관리' 탭에 저장 버튼 및 목차 추가하기

Posted 2012. 12. 25 Updated 2021. 12. 28 Views 11635 Replies 0
Atachment
첨부

블로그 리뉴얼 과정에서 메뉴(사이트맵)를 모조리 뜯어고치고 20여개에 달하던 게시판의 갯수를 절반으로 줄였습니다.

기존에 이용하던 Board DX에서 기본 게시판(Board XE)로 갈아타는 노가다와 삭제할 게시판의 글들을 적절한 곳으로 이동하는 작업이 끝나고, XE 공홈에서 쓸만한 게시판 스킨을 찾아다녔습니다.

"오, 바로 저거다!"

눈에 확 들어온것이 바로 깔끔한 디자인에 Social XE 연동 기능까지 내장된 Sketchbook 스킨이었습니다. 스킨 설치를 완료하고, 이제 다음은 각 게시판의 설정을 바꿀 차례였습니다.

여느때처럼 게시판 관리 메뉴에 들어가서는 [게시판정보] -> [분류 관리] -> [확장 변수] ... 순으로 설정을 완료해 나갔습니다.

skin_manage.png

그런데, (약간의 과장을 섞어서) 제가 까무러친게 바로 [스킨 관리] 탭이었습니다. 스킨관리 탭으로 들어가니 길고 긴 스크롤바가 저를 맞이했습니다.

origin.png

진정한 스압이란 이런 것을 지칭하는 말인 듯 합니다.

게시판을 처음부터 설계하듯이 아주 세세하게 옵션을 지정할 수 있었는데, 그 옵션이 너무 많다보니 저렇게 비인간적인 관리자 페이지가 생성되어 버린 것입니다.

아직 각각 항목을 바꾸면 구체적으로 무엇이 어떻게 바뀌는지 잘 모르므로 중간중간 저장하며 확인을 해야 하는데, 저장 버튼은 저 스압감 넘치는 스크롤바 맨 아래에 딱 하나 있었습니다. 게다가, 저장 버튼을 누르면 페이지가 도로 맨 위로 올라가버리니 설정하고 있던 부분이 어디인지 또다시 열심히 스크롤바를 내리며 찾아야 했습니다.

이런 비인간적인(?) 관리 페이지를 개선해보고자 FTP를 열고 XE 디렉토리를 뒤지기 시작했습니다. 수정 목표는 다음 두 가지였습니다.

  1. 각 설정 그룹 아래에 [저장] 버튼을 만들고 싶다.
  2. 설정 그룹을 쉽게 찾아갈 수 있는 목차(Index)를 만들고 싶다.

 

삽질 대장정

그렇게 해서 시작된 삽질 대장정.

우선, 관리자 페이지를 만들어내는 스크립트 파일을 찾아야 하는데, 여기서부터가 난관이었습니다.

스킨 관리 페이지는 스킨 제작자분이 만들었을거라 생각하고 게시판 스킨 디렉토리부터 뒤졌습니다. 거기서 발견한 것은 다름 아닌, 이런 설정 페이지의 각 항목을 기술한 템플릿 XML 파일뿐이었습니다.

skin_manage_xml.png

다음으로 그 상위 항목인 게시판 디렉토리(/modules/board)를 뒤졌습니다. 하지만 그 디렉토리 안의 어떤 파일에서도 '스킨 관리' 라는 문구는 찾을 수 없었습니다.

이후에도 계속되는 삽질... 혼란스럽고 의문스러워지기 시작했습니다. 게시판 관리 페이지가 게시판 디렉토리 안에 없으면 도대체 어디에 있는거지.

index.php도 뒤져보고 class 디렉토리도 뒤져봤지만 그 어디에도 없었습니다. 그러다가 다른 모듈의 디렉토리를 뒤지기 시작했습니다.

그러다가 우연히 눈에 들어온 모듈 모듈(/modules/module)
- 모듈을 관리하는 모듈이니깐 저기에 뭔가 있을것 같다...!

라고 생각하고 그 디렉토리를 뒤지기 시작한 게 이 삽질을 시작한 지 4시간만이었습니다. 정답은 그 안에 있었습니다. 각 모듈의 관리 페이지를 '모듈' 모듈이 통합하여 관리하는 시스템이었던 것입니다. (ㅁㄴㅇㄹ)

 

저장 버튼과 목차 추가하기

관리 페이지의 '스킨 관리' 템플릿은 /modules/module/tpl 디렉토리의 skin_config.html에 정의되어 있습니다.
이걸 열어서 바로 편집...! 하기 전에 우선 백업파일을 하나 만들어 줍니다.

backup.png

우선 저장(등록) 버튼부터 추가하도록 하겠습니다.

skin_config.html을 열어서 스크롤바를 맨 아래로 내리면 다음과 같은 구문이 있습니다. 스킨 관리 페이지의 맨 아래에 붙어 있던 버튼을 만들어내는 태그입니다.

save_button_code_copy.png

이 부분을 78번째 줄 부근에 다음과 같이 복붙해줍니다.

save_button_code_paste.png

다음으로 인덱스 만들기입니다. 위에서 붙여넣은 부분 바로 아랫줄을 다음과 같이 고쳐줍니다. 책갈피(Anchor)를 지정하는 태그입니다.

anchor.png

각 메뉴 위치에 책갈피를 꽃았으니, 이제 목차를 만들어서 링크만 걸어주면 됩니다. 50번째 줄 부근에 다음과 같이 입력합니다.

<li>
<p class="q"><a name="index">INDEX</a></p>
<p class="a">
{@$nGroup=1}
<block loop="$skin_info->extra_vars => $key, $val" cond="$val->group && ((!$group) || $group != $val->group)">
{@$group = $val->group}
<a href="#anchor_{$key}">{$nGroup++}. {$group}</a>
<br />
</block>
</p>
</li>

index.png

그리고 저장하면 - Mission Complete!

result.png

위와 같이 각 설정 그룹 아래쪽에 각각 등록 버튼이 추가되고, 설정 페이지 상단에 목차가 생긴 것을 확인할 수 있습니다.

 

※ 혹시 이 과정이 귀찮다면, 다음 파일을 다운받아서 사용하시면 됩니다. ^-^

 

덤. Sketchbook5 게시판 스킨설정의 큰 제목들을 좀 더 알아보기 쉽게 바꿔 보았습니다. (Optional)

  • skin.xml -> modules/board/skins/sketchbook5/ 디렉토리에 덮어씌웁니다.

(업로드 후 파일 권한을 644로 꼭!! 바꿔 주셔야 합니다.)

 

서비스 선택
이용중인 SNS 버튼을 클릭하여 로그인 해주세요.
SNS 계정을 통해 로그인하면 회원가입 없이 댓글을 남길 수 있습니다.
댓글
?
Powered by SocialXE

List of Articles
번호 분류 제목 글쓴이 최근 수정일 조회 수
145 XE [XE] XE 1.7.4.x 적용 후 SocialXE에서 '잘못된 요청입니다.' 오류 해결하기 21 file TUW 2017.06.02 14931
144 XE [XE] elFinderXE 모듈 24 file TUW 2019.10.14 13998
143 일반 [WSL] Windows Subsystem for Linux - 초기 설치와 Ubuntu 배포판 설치 file TUW 2021.12.28 16515
142 일반 [WSL] Windows Subsystem for Linux - 디스플레이 서버 설정 및 GUI 사용하기 file TUW 2021.12.28 33234
141 일반 [WSL] Windows Subsystem for Linux - SSH 서버 자동 시작 설정하기 file TUW 2021.12.28 17594
140 일반 [WSL] Windows Subsystem for Linux - SSH 서버 세팅하기 file TUW 2021.12.28 43370
139 일반 [WSL] Windows Subsystem for Linux - Bash.exe를 Ubuntu와 유사하게 설정하기 file TUW 2021.12.28 5921
138 일반 [Windows] 다중 NIC(LAN카드) 환경에서 Routing Table 설정 - route 명령 2 file TUW 2019.10.21 73150
137 일반 [Windows 7] 흔들어 전체 창 최소화(Aero Gesture) 기능 끄기 10 file TUW 2017.06.02 21967
136 일반 [Windows 7] 스테레오믹스 활성화하기 file TUW 2021.12.28 9998
135 Linux [vsFTP] 설치 및 설정하기 file TUW 2017.06.02 12372
134 Linux [vsFTP] 생성 파일 기본 권한 설정하기 file TUW 2017.06.02 17864
133 Linux [vsFTP] 계정별 서로 다른 루트 디렉토리 지정하기 (chroot) file TUW 2017.06.02 23834
132 Linux [vi] 기본환경설정 (줄번호 표시, 방향키활성 등) TUW 2014.04.23 11631
131 Linux [VirtualBox] 가상머신 Windows 7 에서 Aero 기능 활성화하기 file TUW 2017.06.02 3312
130 Linux [VirtualBox] Windows 7 물리 디스크 부팅 (Raw Disk Booting or Native Booting) - 배경 file TUW 2017.06.02 5429
목록
Board Pagination Prev 1 2 3 4 5 6 7 ... 13 Next
/ 13

Powered by Xpress Engine / Designed by Sketchbook

sketchbook5, 스케치북5

sketchbook5, 스케치북5