웹마스터 팁
메뉴에 플래시 적용하기
2007.10.23 12:15
![submenulist.swf](http://www.zeroboard.com/common/tpl/images/blank.gif)
제로보드4로 운영하던 사이트에서 사용하던 플래시 메뉴를
제로보드XE에 적용시켜 봤습니다.
제로보드XE에서 플래시 파일을 불러들이는 방식이 embed 태그없이 아주 간편하게 되어 있어서
오히려 적용하기기 수월해졌습니다.
제로보드4에서 사용할 때는 한 플래시 파일에 메뉴 버튼을 필요만큼 미리 만들어서 사용했었는데
한 플래시 파일에 한 버튼만 두고, 레이아웃의 메뉴 불러들이는 방식으로 플래시 파일을 삽입하는 방식으로 적용했습니다.
우선 레이아웃에서 플래시 파일을 읽어들이는 방식은
<script type="text/javascript">displayMultimedia("http://주소/submenulist.swf", "150","200",false);</script>
이와 같이 불러 들일 수 있지요
이 플래시 파일에 변수를 전달하려면
url 부분을 아래와 같이 확장하면 되더군요..
http://주소/submenulist.swf?변수1=값1&변수2=값2&변수3=값3.....
메뉴의 갯수가 고정적이라면 첨부한 submentlist.fla를 수정하여 위와 같은 방식으로 사용하면 될것입니다.
이제 submenu1.swf를 이용하여 레이아웃의 sub 메뉴에 적용시키는 방법을 말씀드리겠습니다.
레이아웃의 서브 메뉴 부분을 보면
<img src="./images/blank.gif" alt="" class="mask" />
<!--@if($menu_1st)-->
<ol id="lnb">
{@ $idx = 1 }
<!--@foreach($menu_1st['list'] as $key => $val)-->
<!--@if($val['text'])-->
<li <!--@if($val['selected'])-->class="on"<!--@end-->>
<a href="{$val['href']}" <!--@if($val['open_window']=='Y')-->onclick="window.open(this.href);return false;"<!--@end-->>
{$val['text']}</a>
<!-- main_menu 3차 시작 -->
<!--@if($val['list'])-->
<ul>
<!--@foreach($val['list'] as $k => $v)-->
<!--@if($v['text'])-->
<li <!--@if($v['selected'])-->class="on"<!--@end-->>
<a href="{$v['href']}" <!--@if($v['open_window']=='Y')-->onclick="window.open(this.href);return false;"<!--@end-->>
{$v['text']}</a>
</li>
<!--@end-->
<!--@end-->
</ul>
<!--@end-->
</li>
{@$idx++}
<!--@end-->
<!--@end-->
</ol>
<!--@end-->
이것을 아래와 같이 수정합니다.
<img src="./images/blank.gif" alt="" class="mask" />
<!--@if($menu_1st)-->
<ol id="lnb">
{@ $idx = 1 }
{@ $selbtnno = 0 }
{@ $selbtn3no = 0 }
<!--@foreach($menu_1st['list'] as $key => $val)--><!--@if($val['text'])-->
<!--@if($val['selected'])-->
{@ $selbtnno = 1 }
<!--@else-->
{@ $selbtnno = 0 }
<!--@end-->
<li>
<script type="text/javascript">displayMultimedia("http://주소/submenu1.swf?pselbtn={$selbtnno}&pbtn1menu={$val['text']}&pbtn1url={$val['href']}", "190","21",false);</script>
<!-- main_menu 3차 시작 -->
<!--@if($val['list'])-->
<ul <!--@if($val['selected'])-->style="display:block"<!--@end-->>
<!--@foreach($val['list'] as $k => $v)--><!--@if($v['text'])-->
<!--@if($v['selected'])-->
{@ $selbtn3no = 1 }
<!--@else-->
{@ $selbtn3no = 0 }
<!--@end-->
<li>
<script type="text/javascript">displayMultimedia("http://주소/submenu1.swf?pselbtn={$selbtn3no}&pbtn1menu={$v['+ '+ 'text']}&pbtn1url={$v['href']}", "190","21",false);</script>
</li>
<!--@end--><!--@end-->
</ul>
<!--@end-->
</li>
{@$idx++}
<!--@end--><!--@end-->
</ol>
<!--@end-->
변경된 부분을 비교해 보면
2차 메뉴에서
<li <!--@if($val['selected'+
'])-->class="on"<!--@end-->>
<a href="{$val['href'+
']}" <!--@if($val['open_window']=='Y')-->onclick="window.open(this.href);return false;"<!--@end-->>
{$val['+
'text']}</a>
이 부분을
<li>
<script type="text/javascript">displayMultimedia("http://주소/submenu1.swf?pselbtn={$selbtnno}&pbtn1menu={$val['text']}&pbtn1url={$val['href']}", "190","21",false);</script>
이렇게 변경했습니다.
<li>의 selected되었을 때 class를 on으로 변경하는 부분이 지워진 것입니다.
class가 on이어야 3차메뉴가 display되기 때문에 이부분을 생략한 대신 3차메뉴 부분에서
<ul <!--@if($val['selected'])-->style="display:block"!--@end-->
이 부분을 첨가했습니다.
그리고 새창열기 옵션은 사용하지 않는 것으로 전제하고 window.open 부분도 생략했습니다.
다음 변경된 부분에서 플래시 파일을 불러들일 때 url 옵션
http://주소/submenu1.swf?pselbtn={$selbtnno}&pbtn1menu={$val['text']}&pbtn1url={$val['href'+
']}
변수 pselbtn과 값 {$selbtnno}
이 변수와 값은 레이아웃이 로딩될 때 메뉴가 선택되어 있는가의 여부에 따라 플래시 버튼에 다른 액션을 주기 위한 값입니다.
{$selbtnno}을 할당하는 부분은 위에서 찾으실 수 있을 겁니다.
pbtn1menu와 pbtn1url에 각각 메뉴 text와 메뉴 href를 할당합니다.
이제 첨부한 submenu1.swf를 사이트에 적당한 위치에 업로드하고
http://주소/submenu1.swf 주소 부분만 수정해서 쓰시면 됩니다..
더불어서 플래시 소스 파일도 올려 놓겠습니다.
한 층 세련된 디자인의 메뉴용 플래시 파일들이 올라오길 바랍니다.
맨 앞에서 적은 것처럼
한 파일에 여러개의 메뉴 버튼를 적용하려면
submenutest.fla처럼 메뉴 버튼 갯수를 조절해서 쓰셔도 됩니다.
- [2017/01/12] 묻고답하기 admin 페이지 메뉴 오류 *2
- [2016/10/13] 묻고답하기 어드민 페이지 메뉴 *2
- [2015/01/12] 묻고답하기 사이트 메뉴 편집에서 메뉴 이름 수정이 되지 않습니다. *7
- [2014/11/07] 웹마스터 팁 ipTIME NAS 에 설치한 XE, 다올CMS 첨부파일 버튼 무반응 해결 *1
- [2014/08/03] 묻고답하기 !DOCTYPE html 크롬에서 플래시 간격발생 문제 *3
댓글 7
-
똑디
2007.10.23 12:58
-
지허
2007.10.23 13:00
메뉴관리에서가 아니고
본문에 설명드린 것처럼 레이아웃을 변경해서 적용해야 합니다.
레이아웃에 적용하면 설정된 2차,3차 메뉴에 자동으로 연결되게 하였습니다.
제로보드4로 사이트 운영할 때 메인메뉴도 위와 같은 방식으로 했었는데
디자인이 허접해서 올리지는 않았습니다. -
지허
2007.10.25 16:05
플래시 메뉴를 적용하고 별 이상이 없어서 별 생각 없었는데 오늘 보니 플래시 메뉴로 페이지 이동하면 사이트내 링트된 곳은 주소가 아래와 같이 나타난다.
http: //주소/?menuvar=%EC%A0%9C%EB%A1%9C%EB%B3%B4%EB%93%9C&thisurl=http%3A%2F%2Fwww.hanmoon.kr%2Fzeroboard&mid=zeroboard&act=dispBoardWrite
플래시에 메뉴를 연결하기 위해 아래와 같이 '?'뒤에 변수를 넘겨주게 되는데
http: //주소/submenu1.swf?pselbtn={$selbtnno}&pbtn1menu={$val['text']}&pbtn1url={$val['href']}
menuvar, thisurl 이러한 플래시 파일 안의 변수가 주소에 나타난다.
링크된 페이지로 이동한 후에
location.href가 초기화 되지 않아서 위와 같은 현상이 생기는 듯.. 흠.....
어떻게 초기화 시킨단 말인가.. 쩝.... -
로미오
2008.01.17 16:13
지금은 해결하신 상태이신것 같은데.. 공유해 주세요 ㅠ.ㅠ -
다 영
2008.06.29 01:08
어떻게 해결해야하나요.. ㅜㅜ -
니케933
2008.01.21 18:58
감사합니다. displayMultimedia 이 함수를 몰라서 고생하다가 느까기님덕에 알았는데, 여기 좋은 강좌가 있었군요.^^ -
다 영
2008.05.07 22:44
팁 감사합니다~!
제목 | 글쓴이 | 날짜 |
---|---|---|
방문자수 (카운터) 마음대로 조작하기
[37]
![]() | Br_7941 | 2008.08.23 |
[게시판] 이미존재하는 모듈이름 입니다. 오류. [2] | 나이스가이212 | 2008.08.21 |
로그인 문제 및 첨부파일 안올라가는 문제 해결책(세션 문제일 경우..)
[6]
![]() | 이홍석295 | 2008.08.20 |
한글로 된 이미지 문제 [17] | Defy | 2008.08.19 |
[초보팁] 우리말 수정하기(예제: 가입창 이름란 삭제) [3] | 블루파티 | 2008.08.19 |
인용구 접기기능 링크이름 Underline 없애기
[4]
![]() | 똑디 | 2008.08.19 |
zbxe에 bgm을 설치하자
[11]
![]() | 우리아기 | 2008.08.16 |
이미지 좌측 정렬시 내용이 적으면 아래부분 올라오는 문제 해결법
[2]
![]() | 대류 | 2008.08.16 |
미국 yahoo zbxe 설치 및 mysql 연결 [4] | mr007 | 2008.08.15 |
zbxe에서 piclens 사용하기 [2] | 우정진 | 2008.08.15 |
권한 문제 때문에 생길 수 있는 문제 해결 방안 | 꽃들 | 2008.08.14 |
rewrite mod 사용 않될 경우 해결 방법 1가지 | 블루스카이77 | 2008.08.13 |
렙업시 소속그룹 없어지는 문제! 얍실하게 해결.. 쿨럭.
[2]
![]() | 이슈카ㆀ | 2008.08.12 |
댓글 첨부파일부분 닫기/열기 추가
[1]
![]() | Gnee | 2008.08.09 |
오픈 아이디(OpenID)로만 로그인 허용하기 [7] | withover.com | 2008.08.07 |
설치시 초기화면으로 돌아가는 현상 해결 [1] | spk | 2008.08.07 |
닉네임, 이름 정보변경 못하게 하기. [6] | 부엉이 | 2008.08.06 |
첨부화일 등록시 사라지는 현상 [2] | 0라이트0 | 2008.08.05 |
TRAC과 SVN을 참조하여 1.0.5의 애드온 설정 버그 해결하기 | Adios | 2008.08.04 |
제로보드 문자열 정교하게 자르기 [11] | 젝망치 | 2008.08.03 |
드뎌 플래시 메뉴도 나오는군요..^^ 메뉴관리와 자동연결되는 형태인가요?
메뉴관리에서 메뉴를 추가하면 해당 메뉴가 자동으로 플래시로 생성되는?