PXE Super Screen v2.1은 풀 스크린 백그라운드 기능을 가진 엔터테인먼트성 레이아웃 입니다. 이 레이아웃은 2009년 4월에 프로젝트를 처음 시작했지만 여러 기능들의 난해함 때문에 진행이 보류되었다가 2009년 7월, 이 레이아웃에 사용 된 각종 jQuery 플러그인들이 업데이트 됨에 따라 재진행 된 꽤나 힘들었던 프로젝트 입니다.
위 샘플 페이지는 여러 설정중에 가장 CPU 점유를 많이 차지하는 고성능 설정으로 되어 있으므로 저사양 PC에서는 퍼포먼스가 떨어질 수 있습니다. 퍼포먼스 향상은 이 레이아웃의 여러 기능들을 잘 조합하여 맞출 수 있습니다.
- 이용자는 플래쉬를 사용하지 않고도 XE 레이아웃을 이용하여 풀 스크린의 인터렉티브한 웹사이트를 구성 할 수 있습니다
- 백그라운드에서 풀 스크린으로 이용할 이미지들의 삽입이 쉽고 SWF 및 FLV 플레이어의 삽입도 가능합니다
- 뮤직 플레이어를 사용하여 웹사이트에 손쉽게 음악을 넣을 수 있습니다
PXE_superscreen_ent_v2.1.zip의 압축을 풀어 XE의 레이아웃 폴더에 복사합니다. 이제 XE 관리자 페이지로 접속하여
사이트 설정 > 레이아웃에서
생성 버튼을 눌러
PXE 슈퍼사이즈 스크린 레이아웃 v2.1을 선택하여 생성합니다
1. 헤더에 정보 입력하기
이 레이아웃에서는 직관적인 RSS Feeds를 위해 jQuery 플러그인을 사용하고 있습니다. 해당 플러그인이
IE7과
IE8에서 제대로 보여지려면 위 그림과 같이 헤더부에 코드를 넣어주어야 합니다.
또한 이 레이아웃에서는 백그라운드에 플래쉬 동영상을 넣거나 혹은 플래쉬 뮤직 플레이어를 사용할 수 있습니다. 이런 플래쉬 오브젝트들을 웹브라우저에서 오류 메세지 없이 사용하기 위해 swobject.js라는 jQuery 플러그인을 사용하고 있습니다. 이 플러그인이 활성화 될 수 있도록 약간의 경로 수정을 해주어야 합니다.
복잡하게 생각하지 말고 아래 코드를 복사해서
헤더 스크립트 부분에 붙입니다. 파란색으로 적힌
레이아웃 경로에는 위 예제 이미지에서 제가 파란색으로 체크해 둔
"경로"라고 적힌 부분을 복사해서 넣어주면 됩니다. 이
레이아웃 경로는 각 이용자마다 XE 설치 폴더에 따라 다르게 출력 될 수도 있으니 반드시 자신의 화면에서 적혀있는 경로를 복사해서 사용하세요(맨 뒤에 슬래쉬가 두개 붙지 않도록 유의할 것).
<!-- SWFobject -->
<script type="text/javascript">
swfobject.embedSWF("레이아웃 경로/swf/music_player.swf", "player", "300", "29", "9.0.0", "레이아웃 경로/swf/expressInstall.swf");
</script>
<script type="text/javascript">
var flashvars = false;
var params = {};
params.wmode = "transparent";
params.scale = "exactfit";
var attributes = {};
swfobject.embedSWF("레이아웃 경로/swf/video.swf", "movie", "100%", "100%", "9.0.0", "레이아웃 경로/swf/expressInstall.swf", flashvars, params, attributes);
</script>
이로써 PXE Super Screen V2.1 레이아웃을 사용하기 위한 기초 설정이 끝났습니다. 아래에 기술되는 것들은 이용자의 취향에 맞춰 설정하시면 됩니다.
2. 메뉴와 컨텐츠의 디스플레이 구성
관리자 페이지에서는 메인메뉴와 컨텐츠의 디스플레이 구성을 선택할 수 있습니다. 이 선택은 사이트가 텍스트 정보 위주이냐 혹은 비쥬얼 정보 위주이냐에 따라 선택적으로 사용합니다.
컨텐츠 숨기지 않음
이 경우는 유저가 메인 메뉴에 위치한 [SHOW MENU]와 [HIDE MENU]를 클릭하면 메인 메뉴바만 토글 됩니다.
컨텐츠 숨김
이 경우는 유저가 [HIDE MENU] 버튼을 클릭하면 웹사이트의 전체 컨텐츠가 사라지고 백그라운드 이미지 혹은 백그라운드 동영상만 보이게 됩니다. 사이트의 컨텐츠를 읽고 있다가 백그라운드에서 흥미있는 이미지나 동영상 장면이 나오면 이 버튼을 클릭하여 잠시 컨텐츠를 사라지게 할 수 있습니다.
[SHOW MENU] 버튼을 누르면 사라졌던 컨텐츠가 다시 나타나며, 위치도 그대로이기 때문에 스크롤바를 내리면서 컨텐츠를 읽었더라도 그 자리에서 다시 나타납니다.
3. 백그라운드 디스플레이 구성
PXE Super Screen 레이아웃의 기본 백그라운드 기능은 풀 스크린
슬라이드 이미지 입니다. 하지만 이미지 슬라이딩 기능 외에도 동영상을 플레이 시킬 수도 있습니다.
슬라이드 이미지 사용
슬라이드 이미지 사용을 선택하면 사용자가 원하는 이미지를 백그라운드에 풀 스크린으로 출력시키면서 슬라이드 쇼로 보여줍니다.
1) 슬라이드 시킬 이미지는 JPG 파일 포맷이어야 컴퓨터 자원을 최소화 할 수 있으며, 사이즈는 모든 이미지가 동일한 것이 좋습니다. 4:3의 비율을 가지도록 640*480, 1024*768, 1280*1024중 하나의 사이즈로 맞추어
images 폴더에 저장합니다.
2)
layout.html 파일을 열어 아래의 코드에서 슬라이드 시킬 이미지의 파일명을 맞추어주면 됩니다.
<!-- 슬라이드 쇼에 추가 될 이미지 리스트 -->
<!--@if($layout_info->display_background_display == "imageslide")-->
<div id="supersize">
<img class="activeslide" src="./images/bg01.jpg"/>
<a href="./#"><img src="./images/bg02.jpg"/></a>
<a href="./#"><img src="./images/bg03.jpg"/></a>
</div>
<!--@end-->
이미지를 추가하려면 아래와 같이 코드를 계속 밑에 줄에 추가해주면 됩니다
<a href="./#"><img src="./images/bg04.jpg"/></a>
동영상 사용
동영상 사용을 선택하면 사용자가 원하는 플래쉬 동영상을 백그라운드에 풀 스크린으로 출력시키면서 슬라이드 쇼로 보여줍니다. 꼭 동영상이 아니어도 됩니다. SWF 포맷의 플래쉬 파일이면 어떤것이든 백그라운드에서 플레이 할 수 있습니다.
1) 플레이 시킬 SWF 파일을
swf 폴더에 저장합니다
2)
관리자 접속 > 사이트 설정 > 레이아웃으로 들어가서
헤더 스크립트에서 아래의 코드를 찾아 저장된 플래쉬 파일명을 맞추어 줍니다
<script type="text/javascript">
var flashvars = false;
var params = {};
params.wmode = "transparent";
params.scale = "exactfit";
var attributes = {};
swfobject.embedSWF("./layouts/PXE_supersize_screen_ent_v2.1/swf/video.swf", "movie", "100%", "100%", "9.0.0", "./layouts/PXE_supersize_screen_ent_v2.1/swf/expressInstall.swf", flashvars, params, attributes);
</script>
4. 푸터 디스플레이 구성
PXE Super Screen 레이아웃에서는 세분화 된 푸터를 제공하고 있습니다. 우선은 크게
[BGM 컨트롤러 출력]과
[하단메뉴 출력]으로 나뉩니다.
BGM 컨트롤러 출력
BGM 컨트롤러 출력을 선택하면 화면 하단에 플래쉬로 구성 된 배경음악 플레이어가 나타납니다. 이 플레이어는 토글 방식으로 처음에는 가려져 있다가, 탭을 클릭하면 플레이어 컨트롤러가 보이는 형식입니다.
이 플레이어는 FLV 파일로 변환 된 MP3 파일을 사용하며, 한 곡만 플레이 할 수 있습니다. 성능 좋은 뮤직플레이어가 주 목적이 아니라 뮤직 플레이어를 사이트에 달 수 있는 공간을 마련하는 것이 레이아웃의 주 목적이기 때문입니다. 이 설명서에서는 MP3 파일을 FLV로 변환하는 방법등에 대해서는 기술하지 않습니다.
Adobe Media Encoder를 사용하면 손쉽게 변환 할 수 있습니다.
Adobe Media Encoder는 Adobe Flash나 Adobe Premiere를 설치하면 번들로 함께 설치되는 소프트웨어입니다.
1) MP3 파일을 FLV 파일로 변환합니다
2) 변환 된 FLV 파일의 이름을
bgm.flv로 지정하여
swf 폴더에 저장합니다
하단메뉴 출력
하단메뉴 출력을 선택하면 화면 하단에 Copyright 정보와 같은 텍스트 메세지와 부수 메뉴들이 출력 됩니다.
1) 하단 메뉴 : 아래 이미지에서
하단 메뉴(bottom_menu)에 지정한 메뉴가 출력됩니다. 이곳에는 텍스트로만 이루어진 메뉴를 위치시킬 것을 권장합니다
2) 하단 광고 메뉴 : 아래 이미지에서
하단 광고 메뉴(bottom_banner)에 지정한 메뉴가 출력됩니다. 이곳에는 이미지로 이루어진 메뉴를 위치시켜 주세요
고급설정은 레이아웃의 거의 모든 부분을 제어 할 수 있는 방법에 대해 기술합니다. 하지만 이 제어방법은 하드코딩을 필요로 하므로 XE, XHTML, CSS에 대한 지식이 충분한 분들만 사용하시기 바랍니다. 고급설정 없이도 사이트를 충분히 인터렉티브하게 이용 할 수 있으므로 이 부분은 레이아웃 개발에 관심이 있으신 분들이 주로 살펴보시면 됩니다.
1. 레이아웃에 사용된 플러그인들 이해하기
레이아웃을 잘 활용하고 자기의 사이트에 맞게 수정하기 위해서 가장 중요한 부분이 바로 레이아웃에 사용 된 플러그인들이 무엇이며 이것이 어떤 작용을 하는지에 대해 이해하는 것 입니다. 아래는
layout.html의 상단 부분입니다. 이 부분의 코드를 보면서 우리는 레이아웃이 어떤 플러그인을 쓰며 어떤 작용을 하는지 알 수 있습니다.
<!-- 기본 JS 파일 import -->
<!--%import("../../common/js/jquery.js")-->
<!--%import("../../common/js/iepngfix_tilebg.js")-->
<!--%import("js/swfobject.js")-->
<!--%import("js/supersized.js")-->
<!-- 선택에 따른 JS 파일 import -->
<!--%import("js/global.js")-->
<!--%import("packages/basic_plugin/modal_window.js")-->
<!--%import("packages/pxe_droppy_menu/jquery.droppy.js")-->
<!--@if($layout_info->display_menu == "showcontents")-->
<!--%import("js/contents_show.js")-->
<!--@else-->
<!--%import("js/contents_hide.js")-->
<!--@end-->
<!--// 레이아웃과 연동될 css 파일 import -->
<!--%import("css/default.css")-->
<!--%import("packages/basic_plugin/accounts.css")-->
<!--%import("packages/basic_plugin/isSearch.css")-->
<!--%import("packages/pxe_droppy_menu/droppy.css")-->
<!--%import("css/supersize.css")-->
<!-- 기본 JS 파일 import -->에 명기한 JS 파일들은 레이아웃의 뼈대를 이루게 해주는 중추 플러그인들입니다. 이 파일들중 하나라도 없으면 레이아웃의 형태 자체가 무너지게 됩니다.
<!--%import("../../common/js/jquery.js")-->
XE에서 기본으로 포함시키고 있는 jQuery 라이브러리에 연결시키는 역할
<!--%import("../../common/js/iepngfix_tilebg.js")-->
XE에서 기본으로 포함시키고 있는 IE6용 PNG Hack 파일에 연결시키는 역할. 이것이 연결되어 있으면 IE6에서 먹히지 않는 PNG 이미지가 포함된 DIV등에
class="iePngFix" 클래스를 주면 PNG 이미지가 잘 나타나게 됩니다.
* 단일 PNG 이미지의 경우의 예시
<img src="./test.png" alt="" class="iePngFix">
* test라는 이름의 DIV가 test2라는 별도의 클래스를 가지고 있으면서 백그라운드 이미지로 PNG 이미지가 사용된 경우의 예시. PNG 이미지의 경로는 CSS 파일에 있다고 가정
<div id="test" class="test2 iePngFix">
<!--%import("js/swfobject.js")-->
이 플러그인은 웹브라우저가 플래쉬 파일을 로딩할 때 생기는 ActiveX 경고문이 나타나지 않도록 해주는 일종의 해킹 파일입니다. 여러분은 종종 어떤 사이트에 들어갔을 때 알수없는 경고문이 계속 뜨는 일을 만나봤을겁니다. 대부분이 이 해킹 파일이 동작하지 않는 상태에서 플래쉬 파일이 로딩될 때 웹브라우저가 경고문을 띄우는 것 입니다. 이 파일은 간단하게 사용하면 간단하고 복잡하게 사용하면 정말 복잡합니다.
이 레이아웃에서는 이미 필요한 만큼의 셋팅이 되어 있으므로 개념만 파악하시기 바랍니다. 그리고
이 파일의 100% 활용 방법은 여기를 클릭해서 알아보세요.
관리자로 접속하여 이 레이아웃의 헤더스크립트에 넣었던 코드를 살펴보세요. 아래에 적힌 코드가 swobject 플러그인을 사용하고 있는 부분입니다. 이 코드들은 대부분 HTML 파일의 header 태그 안에 속하므로
레이아웃의 헤더스크립트 공간에 넣은 것 입니다.
<!-- SWFobject -->
<script type="text/javascript">
swfobject.embedSWF("레이아웃 경로/swf/music_player.swf", "player", "300", "29", "9.0.0", "레이아웃 경로/swf/expressInstall.swf");
</script>
위의 코드는 아래와 같은 방식으로 배열되어 있습니다.
<script type="text/javascript">
swfobject.embedSWF("SWF 파일경로", "SWF 파일이 위치할 DIV의 이름", "SWF 파일의 너비", "SWF 파일의 높이", "Flash Player의 버전", "이건 그냥 무시하세요");
</script>
위와 같이 SWF 파일을 <object> 혹은 <embed> 태그 없이 자바스크립트로 처리하게 됩니다. SWF 파일을 위치시킬 DIV에 이름을 만들어 놓고, 자바스크립트에서는 이 DIV의 이름을 적어서 SWF를 그곳에 위치시키는 방식임을 알면 됩니다. 이 코드를 사용하게 되면 ActiveX 경고문을 만날 일이 없게 됩니다.
이제 동영상 파일을 백그라운드에서 풀스크린으로 재생시키는 조금 고급 설정을 코드를 봅니다. 아래의 코드는 백그라운드에서 플레이되는 동영상을 swfobject를 사용하여 제어하는 코드입니다. 마찬가지로
레이아웃의 헤더스크립트 공간에 넣은 코드입니다.
<script type="text/javascript">
var flashvars = false;
var params = {};
params.wmode = "transparent";
params.scale = "exactfit";
var attributes = {};
swfobject.embedSWF("레이아웃 경로/swf/video.swf", "movie", "100%", "100%", "9.0.0", "레이아웃 경로/swf/expressInstall.swf", flashvars, params, attributes);
</script>
단순한 뮤직 플레이어 컨트롤러보다는 조금 복잡하게 보이지요. 이것은 우리가 그동안 <object>나 <embed> 태그에 사용했던 여러 프로퍼티들을 swobject에 사용하기 위해 코드가 길어진 것입니다. 살펴보면 간단합니다. 잠시 아래의 코드를 보겠습니다.
swfobject.embedSWF("레이아웃 경로/swf/video.swf", "movie", "100%", "100%", "9.0.0", "레이아웃 경로/swf/expressInstall.swf", flashvars, params, attributes);
기존 코드에서 추가 된 첫번째로 뒤에 빨간색으로 쓰여진 부분이 있습니다. 이것은 swfobject.js에서 플래쉬의 <embed>나 <object> 태그에 사용했던 제어속성을 사용하겠다는 정의입니다. 이 부분은 그렇다는 것만 알고 있으면 됩니다. 실질적으로 중요한 코드는 아래와 같습니다.
var flashvars = false;
var params = {};
params.wmode = "transparent";
params.scale = "exactfit";
var attributes = {};
위의 빨간색 코드들이 바로 플래쉬의 <embed>나 <object>에 사용되었던 속성들을 정의한 부분입니다. 위 설정에서는 플래쉬의 배경을 투명하게 하라는
params.wmode = "transparent"; 와, 플래쉬를 비율에 맞추지 말고 무조건 화면크기에 강제로 맞추라는
params.scale = "exactfit"; 파라미터로 구성해 놓았습니다. 일반적으로 이 레이아웃에서는 이 상태로 두고 쓰면 됩니다. 추가적인 플래쉬 파라미터들을 사용하려면 바로 위 코드 부분에 적어준다는 것을 아시면 됩니다.
2. supersized.js 통제하기
이 레이아웃의 중추적인 역할을 하는 백그라운드 풀스크린 효과는 jQuery 플러그인인
supersized를 사용하고 있습니다. 이 플러그인은 현재 버전 2까지 나와있어서 이 레이아웃에서 사용하고 있는 기능 외에도 몇가지 추가기능(앞뒤 사진 다시보기 등)이 있지만, 여러 테스트 결과 버전 2는 심각한 CPU 점유율로 중,저사양 유저들은 메뉴가 거의 열리지 않을 정도의 퍼포먼스를 보여주고 있습니다.
반대로 버전 1의 경우는 너무 개발 프로토타입이라 FadeIn, Out 기능 조차도 없는 원형의 모습을 띄고 있습니다. 그래서 이 레이아웃에서는 버전 1에 버전 2의 코드를 섞어 각종 효과를 살리고 CPU 점유율을 낮추는 커스터마이징을 한 PXE만의 supersized 플러그인을 사용하고 있습니다. 따라서 supersized 웹사이트에서 배포하고 있는 버전 1과 버전 2를 따로 다운로드 받아 사용하시는 일이 없길 바랍니다.
// 백그라운드 슬라이드쇼 정의
jQuery(document).ready(function($){
$.fn.supersized.options = {
startwidth: 4,
startheight: 3,
minsize: .5,
slideshow: 1,
slideinterval: 15000
};
$('#supersize').supersized();
// 드롭다운 메뉴 정의
$(function() {
$('#nav').droppy();
});
});
위의 소스는 js/global.js 파일에 위치하고 있습니다. startwidth:4와 startheight:3은 백그라운드 이미지의 비율입니다. 이것은 수정 할 필요가 없습니다.
만일 백그라운 이미지를 슬라이드쇼로 설정하지 않고 단일 이미지를 백그라운드로 사용하고 싶다면
slideshow: 1을
slideshow: 0으로 변경하세요. 그러면 layout.html에 위치한 슬라이드쇼 이미지들 중 가장 상단에 위치시켜 놓은 이미지만 보여집니다.
slideinterval: 15000은 현재 이미지가 화면에 얼마동안 보여질지를 설정합니다. 15000은 15초입니다. 5초로 바꾸고 싶다면 5000이 됩니다.
만일 Fade In, Out의 시간까지 변경하고 싶다면? 이것은 플러그인 파일 자체의 소스를 만집니다. js/supersized.js를 열고 아래의 코드를 살펴봅니다.
//Slideshow Add-on
function theslideshow() {
var currentslide = $('#supersize .activeslide');
if ( currentslide.length == 0 ) currentslide = $('#supersize :last');
var nextslide = currentslide.next().length ? currentslide.next() : $('#supersize :first');
currentslide.animate({opacity: '0'}, 2000, function() {
nextslide.addClass('activeslide');
currentslide.removeClass('activeslide');
nextslide.animate({opacity: '1'}, 2000);
});
2000이라는 수치가 바로 페이드 인,아웃의 속도입니다. 현재의 2000이라는 속도는 이미지가 사라지거나 나타나는 속도가 총 2초라는 뜻 입니다. 100은 1초, 10000은 10초가 됩니다.
- 이 레이아웃은 XE의 모든 버전에서 작동합니다
- 이 레이아웃은 IE6/7/8, 가장 최신의 FireFox, Opera 그리고 Safari에서 테스트 되었습니다
- IE6에서는 창의 크기가 변경 될 때 일부 레이어가 브라우저의 스크롤바 위로 올라오는 현상이 있습니다.
- 비영리 라이센스 : 40,000원
- 영리 라이센스 : 450,000원
라이센스 구입을 원하시는 분께서는 아래의 계좌로 비용을 입금 하신 후,
clubnb2@naver.com으로 입금확인 메일을 보내주세요. 메일에는 본인
아이디, 입금자명, 스킨명, 라이센스 형태 4가지를 꼭 기재해 주셔야 합니다. 비용 지불이 확인되면 다음날 오후 5시 이전 아이디가 갱신되어 본 사이트의
[다운로드] 코너에서 해당 스킨의 온라인 다운로드가 가능하게 됩니다.
PayPal을 이용해 결제를 원하시는 해외 이용자분께서는 위의 4가지 항목에 추가로 자신의
PayPal 이메일 주소를 함께 기입하시면 Request Money로 청구메일이 가게 됩니다. 입금이 확인되면 마찬가지로 다음날 오후 5시 이전 아이디가 갱신되어 본 사이트의
[다운로드] 코너에서 해당 스킨의 온라인 다운로드가 가능하게 됩니다.
위 이메일 주소로는 일체 문의내용을 받지 않습니다. 별도의 문의사항이 있으신 경우에는
문의사항 코너를 이용해 주시기 바랍니다.
국민은행 036102-04-168370 정현화
멋지네요..^^*
XE, XHTML, CSS에 대한 지식이 충분한 분들만 사용하시기 바랍니다.
이 부분이 걸리네요...ㅠㅠ
쩝..
그렇게 저 사양 컴터가 아닌데..
백그라운드 영상이랑 음악은 금방 재생 되는데..
메뉴 활성화가 좀 늦네요..^^*