웹마스터 팁

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

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 부분을 찾아 마찬가지로 수정하시면 됩니다.

제목 글쓴이 날짜
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
제로보드4->XE 데이터 이전 시 회원 정보 오류 / 포인트 문제 [10] 개돌 2009.10.08
최근게시물의 캐시파일을 일반문서에 불러들이기 [2] 고진감래 2009.10.09
[확장변수] 게시물을 새창에서 전체화면으로 보기 [2] file 고진감래 2009.10.09
[초보] 본문 하단에 구글 애드센스 삽입방법 [2] BigSeong 2009.10.10
로그인 폼에 관리자는 [Admin] 나타나게 하기 [4] file 오스카 2009.10.10
모르지오 레이아웃 사용시 각종 [배경이미지] 넣어도 안 나타날 경우 [2] 오스카 2009.10.10
레이아웃에서 배경이미지를 좌-아래에 넣을 경우 오스카 2009.10.10
게시판에서 비회원 메일 주소 확인하기 똑디 2009.10.12
플래너 "한줄공지" 가 삭제되지 않는 경우 의 임시대응법 [2] file Gekkou 2009.10.13
textyle Domain 접속방법 [5] file 왜만지냐 2009.10.15
textyle에 믹시업 위젯 달기 [1] 명희남편 2009.10.15
DB 이전시 오류 해결,,,하하하하...끝네 해결 했음.... file Crazyhouse.cn 2009.10.16
웹진/갤러리에서 썸네일 클릭 시 원본 이미지 보기 + HighSlide JS 적용 (수정) [18] 고진감래 2009.10.17
간단한 위키링크 흉내내기 [5] 고진감래 2009.10.17