웹마스터 팁

소스를 수정하는 것이므로 반드시 백업해두시길 권합니다.

xe_newwin.JPG

xe에 있는 프린트 함수를 이용해 확장변수로 새창열기를 선택하면 
게시물을 레이아웃에 상관없이 새창에서 전체화면으로 볼 수 있도록 해봤습니다.
설명의 편의를 위해 여기서는 xe_official 게시판을 기준으로 설명드립니다.

1. 첨부한 new_win.zip을 다음의 경로로 풀어줍니다.

new_win.html => modules/document/tpl/new_win.html
new_win.css => modules/document/tpl/css/new_win.css
new_win.gif => modules/board/skins/xe_official/img/common/new_win.gif (※ 적용하려는 스킨의 이미지 폴더)

2. modules/document/document.view.php 에서 처음에 나오는 function dispDocumentPrint() 함수 다음에 아래 함수를 추가합니다.

        function dispDocumentNewWin() {
            // 목록 구현에 필요한 변수들을 가져온다
            $document_srl = Context::get('document_srl');

            // document 객체를 생성. 기본 데이터 구조의 경우 document모듈만 쓰면 만사 해결.. -_-;
            $oDocumentModel = &getModel('document');

            // 선택된 문서 표시를 위한 객체 생성 
            $oDocument = $oDocumentModel->getDocument($document_srl, $this->grant->manager);
            if(!$oDocument->isExists()) return new Object(-1,'msg_invalid_request');

            // 브라우저 타이틀 설정
            Context::setBrowserTitle($oDocument->getTitleText());
            Context::set('oDocument', $oDocument);

            Context::set('layout','none');
            $this->setTemplatePath($this->module_path.'tpl');
            $this->setTemplateFile('new_win');
        }

3. modules/document/conf/module.xml 에서 18라인에 아래처럼 한 줄 추가합니다.

    <actions>
        <action name="dispDocumentPrint" type="view" standalone="true" />
        <action name="dispDocumentNewWin" type="view" standalone="true" />  <=추가

4. 적용할 게시판에 확장변수 list_newwin을 설정합니다. 
확장변수 이름 : list_newwin
입력항목 이름 : 새창열기
형식 : 라디오버튼 
기본값 : 새창으로 엽니다

5. 스킨에 새창 링크를 추가합니다.
modules/board/skins/xe_official/_style.list.html 에서 아래 부분을 찾아

<!--@if($document->getTrackbackCount())-->
<a href="./{getUrl("document_srl', $document->document_srl)}#trackback"><span class="trackbackNum" title="Trackbacks">[{$document->getTrackbackCount()}]</span></a>
<!--@end-->

이 다음에 아래 부분을 추가합니다.

<!--@if($document->getExtraEidValue('list_newwin'))-->
<a href="./{getUrl("document_srl',$document->document_srl,'act','dispDocumentNewWin')}" target="_blank"><img src="./img/common/new_win.gif" align="absmiddle" title="새창으로 열기"></a>
<!--@end-->

다른 스킨에서도 getTrackbackCount 부분을 찾아 마찬가지로 수정하시면 됩니다.

제목 글쓴이 날짜
BGM 넣기 및 간단한 제어 [2] Elinoa 2011.03.26
타이틀에 홈페이지 제목 추가 시키기 [5] file 웹 엔진 2011.03.17
jQuery 강의 #1. css에 대해 이해해보자. [1] 서기 2011.03.03
각 게시판 헤더에 언어 변경 버튼 추가하기 [1] cjsound 2011.03.21
제로보드 관리자 레벨이 관리자 레벨로 안나올때 [5] 나무넷 2007.08.23
사랑비BGM 플레이기 설치하고 제어하기 [2] 스유군 2009.04.28
XE 모듈/스킨 개발시 사용 가능한 변수 알아내기 [3] 도라란 2011.02.27
z-index 값 설정하기... [2] ForHanbi 2011.03.15
UTF-8 파일을 열면 글자가 깨져요 어떤 에디터를 사용해야 하나요? [2] 최소영329 2009.02.03
문자열 처리 함수 + 파일 처리 함수 [1] 999 2011.02.22
[생초보팁] 레이아웃 스킨 강좌 사이트 [2] HolyJohn 2010.12.29
추천수와 비추천수를 합친 값을 보여주기 lol €:) 2011.03.11
사진링크가 깨져서 엉망이네요 [1] 김성회 2011.03.11
jQuery 강의 #2. 셀렉터에 스타일을 적용해보자. 서기 2011.03.08
페이지 수정시 팝업창 높이 조절... [1] 브레인630 2011.03.07
이용자가 댓글을 닉네임으로 검색할순 없나요? [2] gc00 2011.03.04
CSS 사용시 익스플로러 버그 해결하기. [3] NineTail 2007.08.28
[확장변수] 게시물을 새창에서 전체화면으로 보기 [2] file 고진감래 2009.10.09
php5 설정(최적화) fsfsdas 2011.02.20
메뉴 클릭시 알림메시지 띄우기 [1] 도라란 2011.02.27