웹마스터 팁

사이트에 접속하면 탭에 제목을 보여주는 부분이 있습니다.
XE의 경우 일반적으로 모듈의 이름이나 문서의 제목을 보여주게 되어있습니다.
이를 각 페이지마다 사이트제목과 함께 보여주는 간단한 애드온을 제작하는 방법을 살펴보겠습니다.

XE로 여러개의 사이트를 운영하고 있습니다. 이중 일반 게시판부분은 그래도 구분이 가능하지만 관리자페이지는 모든 제목이 "XE Admin Page'로 모두다 똑같습니다. 가끔 사이트를 착각해서 엉뚱한 작업을 하는 실수가 자주 생겨서 관리자페이지를 사이트마다 구분하는 방법을 찾다고 제작한 애드온입니다. 말이 프로그램이지 conf/info.xml과 12줄짜리 php로 구성된 초간단 애드온입니다. 제작하는데 테스트까지 해서 10분쯤 걸렸을겁니다.

st1.png st2.png

애드온을 적용하기 전에는 어떤 사이트인지 구분이 되지 않지만 애드온을 적용하면 사이트의 제목을 표시해주기 때문에 구분이 쉽고 실수도 적어질겁니다.

이미 비슷한 애드온도 있고 해서 정식배포보다는 제작법 소개를 올리도록 하겠습니다.

먼저 폴더이름을 만듭니다.
폴더이름은 애드온의 이름과 직결되기 때문에 이해하기 쉬운 것으로 하는 것이 좋을 것같습니다.
우선은 ./addons 폴더에 site_title이라는 폴더를 만듭니다.
새로 만들어진 site_title 폴더로 이동해서 conf 라는 폴더를 하나 만듭니다.

가장 먼저 해야할 일은 이 conf 폴더에 info.xml을 생성하는  것입니다.
info.xml은 XML 화일이기 때문에
<?xml version="1.0" encoding="utf-8"?>
<태그>
</태그> 의 기본 구조로 생성됩니다.
여기에서 태그는 XML의 속성을 나타내는 것으로 addon이기 때문에
<?xml version="1.0" encoding="utf-8"?>
<addon version="0.2">
</addon>
의 구조로 만들어집니다. 이것만으로도 기본요소는 갖추어져 있기 때문에 에러는 발생하지 않습니다.
관리자페이지에서 보면 제목없는 애드온이 하나 생겨있을 겁니다.
st3.png
기왕이면
<?xml version="1.0" encoding="utf-8"?>
<addon version="0.2">
    <title xml:lang="ko">사이트 제목변경</title>
</addon>
까지 해주면 애드온에 제목도 생기고 설정화면도 뜨게 됩니다.
다만 설명이나 제작자, 제작일자등의 정보가 다 누락되어있을겁니다.
sb4.png  K-20110325-152854-7.png


다음 소스가 info.xml의 완성된 모양입니다.

01.<?xml version="1.0" encoding="utf-8"?>
02.<addon version="0.2">
03.<title xml:lang="ko">사이트 제목변경</title>
04.<description xml:lang="ko">
05.업로드 되었으나 본문삽입을 하지 않은 이미지를 찾아서 강제로 출력시키는 애드온입니다.
06.</description>
07.<version>0.5.2</version>
08.<date>2011-3-18</date>
09.<author email_address="soonj@nate.com" link="http://www.wildgreen.co.kr">
10.<name xml:lang="ko">카르마</name>
11.</author>
13.<extra_vars>
14.<var name="site_title" type="text">
15.<title xml:lang="ko">사이트 이름</title>
16.<description xml:lang="ko">브라우저에 표시할 제목의 머릿말을 입력할 수 있습니다.</description>
17.</var>
18.</extra_vars>
19.</addon>


이제 폴더를 하나 위로 올라가서 php 화일을 만들어줘야할 때입니다.
폴더 제목이 site_title 인 경우 애드온 화일의 이름은 site_title.addon.php입니다.
만약 폴더 이름을 다른 것으로 사용하셨다면 이 또한 바뀌어야합니다.
예를 들어 xxx_aaa로 폴더 이름을 만들었다면 화일이름도 xxx_aaa.addon.php로 되어야합니다.

01.<?php
02.if(!defined("__ZBXE__")) exit();
03.// 화면에 디스플레이 할때만 동작
04.if($called_position != "before_display_content"return;
05. 
06./* 관리자페이지에서만 동작시키고 싶을때...
07.if(Context::get('module') !='admin') return;
08.*/
09. 
10.//모듈정보 가져오기...
11.$oAdminModuleModel = &getAdminModel('module');
12.$module_info=Context::get('module_info');
13. 
14.//설정에서 입력한 사이트제목을 선택한 언어설정에 맞게...
15.$title_arr $oAdminModuleModel->getLangCode(0, $addon_info->site_title);
16.$lang_type =Context::getLangType();
17.$title $title_arr[$lang_type];
18. 
19.// 제목변경
20.Context::setBrowserTitle($title.Context::getBrowserTitle());
21.?>

이상입니다.

사용시 주의사항은 현재 XE의 애드온을 관리자페이지에서만 동작하게 설정하는 방법이 아직 없습니다.
따라서 설정에서 어떤 모듈이든지 체크를 하게 되면 해당 모듈에서만 동작합니다.
기타모듈은 물론 관리자페이지에서도 동작하지 않습니다.
따라서 관리자페이지에서 사용하려면 모듈선택시 아무것도 체크하지 않아야합니다.

비록 간단해보이는 애드온이지만 선택한 언어에 맞춰서 제목도 변경되게 할 수 있습니다.
설정의 사이트제목 입력칸 우측의 수레바퀴를 클릭해서 언어별로 제목 입력이 가능합니다.K-20110325-151716-4.png K-20110325-153533-9.png http://backupxe.com/4111 
http://backupxe.com/relfeed/4100 참조
제목 글쓴이 날짜
이미지마크 쓸 경우 레벨아이콘 위치 바꾸기 고진감래 2009.09.30
iframe을 이용한 악성코드 침투 - 치료 및 대응법 (검블러 or GENO) [8] file 미루819 2009.10.01
비회원 글쓰기가 되지 않을 경우.. 태쥐 2009.10.01
첨부한 압축파일이 손상되는 이유와 그 해결 (CRC 오류) Gekkou 2009.10.03
위젯에서 페이지 기능 활용 팁 [3] 라르게덴 2009.10.05
파일 첨부시 사라지는 현상 [6] Isaac Shepherd 2009.10.07
-추가- 당신의 XE 기반 홈페이지를 훅가게 하는 방법 4가지 [26] 老姜君 2009.10.08
최근게시물의 캐시파일을 일반문서에 불러들이기 [2] 고진감래 2009.10.09
레이아웃에서 배경이미지를 좌-아래에 넣을 경우 오스카 2009.10.10
플래너 "한줄공지" 가 삭제되지 않는 경우 의 임시대응법 [2] file Gekkou 2009.10.13
textyle Domain 접속방법 [5] file 왜만지냐 2009.10.15
DB 이전시 오류 해결,,,하하하하...끝네 해결 했음.... file Crazyhouse.cn 2009.10.16
1.2.6 버전에서 메뉴추가 안되시는 분들 읽어보세요... [6] Crazyhouse.cn 2009.10.19
1.2.6 업데이트 후 애드온 등 css가 적용 안되는 분들~ SeokiE 2009.10.29
프로필이미지, 이미지마크, 이미지이름 수정, 추가시 포인트 삭감 [1] lattente 2009.11.02
1.3.0 버전에서 모듈설치 방법과 시작 모듈 설정하기 [21] file 스타호스트 2009.11.11
XE 관련 질문시 정확하고 빠른 답변을 받기위한 방법의 Tip ????? [7] DuRi 2009.11.16
XE 업데이트 방법 - 제1편 (0.x.x / 1.0.x / 1.1.x / 1.2.x 에서 1.2.4 버전으로 업그레이드) [38] file Gekkou 2009.11.19
XE 업데이트 이후 발생하는 문제들에 대한 대응책 정리 [18] file Gekkou 2009.11.19
apache + php + mysql + Zend Optimizer + eAccelerator [8] file 엘카 2009.11.23