mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-05-04 17:44:38 +09:00
git-svn-id: http://xe-core.googlecode.com/svn/trunk@1164 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
ce1b794e01
commit
4767c2163f
10 changed files with 579 additions and 159 deletions
|
|
@ -177,7 +177,8 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
// 현재 페이지의 정보를 $zbxe_url이라는 변수로 등록 (common/tpl/common_header.tpl에서 javascript 변수로 설정함)
|
// 현재 페이지의 정보를 $zbxe_url이라는 변수로 등록 (common/tpl/common_header.tpl에서 javascript 변수로 설정함)
|
||||||
if($_REQUEST['mid']) $zbxe_url = sprintf('mid=%s',$_REQUEST['mid']);
|
//if($_REQUEST['mid']) $zbxe_url = sprintf('mid=%s',$_REQUEST['mid']);
|
||||||
|
if($this->mid) $zbxe_url = sprintf('mid=%s',$this->mid);
|
||||||
elseif($_REQUEST['module']) $zbxe_url = sprintf('module=%s',$_REQUEST['module']);
|
elseif($_REQUEST['module']) $zbxe_url = sprintf('module=%s',$_REQUEST['module']);
|
||||||
elseif($_REQUEST['document_srl']) $zbxe_url = sprintf('mid=%s', $this->mid);
|
elseif($_REQUEST['document_srl']) $zbxe_url = sprintf('mid=%s', $this->mid);
|
||||||
else $zbxe_url = Context::getRequestUri();
|
else $zbxe_url = Context::getRequestUri();
|
||||||
|
|
|
||||||
46
layouts/sample_blog/conf/info.xml
Normal file
46
layouts/sample_blog/conf/info.xml
Normal file
|
|
@ -0,0 +1,46 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<layout version="0.1">
|
||||||
|
<title xml:lang="ko">견본 레이아웃</title>
|
||||||
|
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||||
|
<name xml:lang="ko">제로</name>
|
||||||
|
<description xml:lang="ko">
|
||||||
|
견본 레이아웃입니다.
|
||||||
|
가장 기본적인 기능으로 이루어져 있습니다.
|
||||||
|
</description>
|
||||||
|
</author>
|
||||||
|
<extra_vars>
|
||||||
|
<var id="top_title">
|
||||||
|
<name xml:lang="ko">상단 제목</name>
|
||||||
|
<type>text</type>
|
||||||
|
<description xml:lang="ko">레이아웃의 상단에 표시할 제목을 입력하세요.</description>
|
||||||
|
</var>
|
||||||
|
<var id="main_menu_name">
|
||||||
|
<name xml:lang="ko">메인 메뉴 명</name>
|
||||||
|
<type>text</type>
|
||||||
|
<description xml:lang="ko">트리메뉴의 가장 상위에 표시될 이름을 입력하세요.</description>
|
||||||
|
</var>
|
||||||
|
<var id="colorset">
|
||||||
|
<name xml:lang="ko">컬러셋</name>
|
||||||
|
<type>select</type>
|
||||||
|
<description xml:lang="ko">원하시는 컬러셋을 선택해주세요.</description>
|
||||||
|
<options>
|
||||||
|
<name xml:lang="ko">적색</name>
|
||||||
|
<value>red</value>
|
||||||
|
</options>
|
||||||
|
<options>
|
||||||
|
<name xml:lang="ko">청색</name>
|
||||||
|
<value>blue</value>
|
||||||
|
</options>
|
||||||
|
</var>
|
||||||
|
</extra_vars>
|
||||||
|
<menus>
|
||||||
|
<menu id="main_menu" default="true">
|
||||||
|
<name xml:lang="ko">주 메뉴</name>
|
||||||
|
<maxdepth>2</maxdepth>
|
||||||
|
</menu>
|
||||||
|
<menu id="bottom_menu">
|
||||||
|
<name xml:lang="ko">하단 메뉴 </name>
|
||||||
|
<maxdepth>1</maxdepth>
|
||||||
|
</menu>
|
||||||
|
</menus>
|
||||||
|
</layout>
|
||||||
192
layouts/sample_blog/css/layout.css
Normal file
192
layouts/sample_blog/css/layout.css
Normal file
|
|
@ -0,0 +1,192 @@
|
||||||
|
@charset "utf-8";
|
||||||
|
|
||||||
|
body {
|
||||||
|
margin:0px;
|
||||||
|
padding:0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 레이아웃 style
|
||||||
|
**/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 상단 로고 및 메인 1차 메뉴
|
||||||
|
**/
|
||||||
|
.layout_top {
|
||||||
|
margin:10px 10px 0px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 상단 로고 부분 */
|
||||||
|
.layout_logo A {
|
||||||
|
font-weight:bold;
|
||||||
|
font-size:16pt;
|
||||||
|
color:#888888;
|
||||||
|
text-decoration:none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 상단 1차 메뉴 */
|
||||||
|
.layout_first_menu {
|
||||||
|
border-bottom:2px solid #DDDDDD;
|
||||||
|
width:100%;
|
||||||
|
text-align:right;
|
||||||
|
padding:3px 0px 3px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 좌측 메뉴 및 메인 2차 메뉴, 로그인 플러그인 및 기타
|
||||||
|
**/
|
||||||
|
.layout_left {
|
||||||
|
width:220px;
|
||||||
|
float:left;
|
||||||
|
margin-top:10px;
|
||||||
|
position:absolute;
|
||||||
|
left:10px;
|
||||||
|
z-index:10;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 좌측 2차 메뉴 */
|
||||||
|
.layout_second_menu {
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 좌측 관리자 메뉴 */
|
||||||
|
.layout_admin {
|
||||||
|
margin-top:10px;
|
||||||
|
border:3px solid #EEEEEE;
|
||||||
|
padding:5px;
|
||||||
|
text-align:center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layout_admin A {
|
||||||
|
color:#AAAAAA;
|
||||||
|
text-decoration:none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 컨텐츠 */
|
||||||
|
.layout_content {
|
||||||
|
position:absolute;
|
||||||
|
left:0px;
|
||||||
|
padding:10px 10px 0px 240px;
|
||||||
|
z-index:1;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content {
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 하단 메뉴 영역
|
||||||
|
**/
|
||||||
|
.layout_bottom {
|
||||||
|
clear:both;
|
||||||
|
margin-top:20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 하단 메뉴 */
|
||||||
|
.layout_bottom_menu {
|
||||||
|
width:100%;
|
||||||
|
text-align:center;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 메뉴 style, main_menu:1~3차, bottom_menu로 구성
|
||||||
|
**/
|
||||||
|
|
||||||
|
/* 1차 메뉴 */
|
||||||
|
.first_menu {
|
||||||
|
background-color:#999999;
|
||||||
|
padding:3px 10px 3px 10px;
|
||||||
|
margin-left:5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.first_menu A {
|
||||||
|
font-weight:normal;
|
||||||
|
color:#FFFFFF;
|
||||||
|
text-decoration:none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.first_menu_selected {
|
||||||
|
background-color:#000000;
|
||||||
|
padding:3px 10px 3px 10px;
|
||||||
|
margin-left:5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.first_menu_selected A {
|
||||||
|
color:#FFFFFF;
|
||||||
|
font-weight:bold;
|
||||||
|
text-decoration:none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 2차 메뉴 */
|
||||||
|
.second_menu {
|
||||||
|
padding:5px 0px 5px 5px;
|
||||||
|
background-color:#AAAAAA;
|
||||||
|
display:block;
|
||||||
|
border-bottom:1px solid #999999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.second_menu A {
|
||||||
|
color:#FFFFFF;
|
||||||
|
text-decoration:none;
|
||||||
|
font-weight:normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.second_menu_selected {
|
||||||
|
padding:5px 0px 5px 5px;
|
||||||
|
background-color:#666666;
|
||||||
|
display:block;
|
||||||
|
border-bottom:1px solid #444444;
|
||||||
|
}
|
||||||
|
|
||||||
|
.second_menu_selected A {
|
||||||
|
color:#FFFFFF;
|
||||||
|
font-weight:bold;
|
||||||
|
text-decoration:none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 3차 메뉴 */
|
||||||
|
.third_menu {
|
||||||
|
padding:5px 0px 5px 20px;
|
||||||
|
border-bottom:1px solid #EEEEEE;
|
||||||
|
display:block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.third_menu A {
|
||||||
|
color:#000000;
|
||||||
|
text-decoration:none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.third_menu_selected {
|
||||||
|
padding:5px 0px 5px 20px;
|
||||||
|
border-bottom:1px solid #EEEEEE;
|
||||||
|
font-weight:bold;
|
||||||
|
display:block;
|
||||||
|
background-color:#EFEFEF;
|
||||||
|
}
|
||||||
|
|
||||||
|
.third_menu_selected A {
|
||||||
|
color:#000000;
|
||||||
|
font-weight:bold;
|
||||||
|
text-decoration:none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 하단 메뉴 */
|
||||||
|
.bottom_menu {
|
||||||
|
margin-right:5px;
|
||||||
|
font-weight:normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bottom_menu A {
|
||||||
|
color:#000000;
|
||||||
|
text-decoration:none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bottom_menu_selected {
|
||||||
|
margin-right:5px;
|
||||||
|
font-weight:bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bottom_menu_selected A {
|
||||||
|
color:#000000;
|
||||||
|
font-weight:bold;
|
||||||
|
text-decoration:none;
|
||||||
|
}
|
||||||
|
|
||||||
58
layouts/sample_blog/layout.html
Normal file
58
layouts/sample_blog/layout.html
Normal file
|
|
@ -0,0 +1,58 @@
|
||||||
|
<!-- tree_menu.js를 이용한 트리 메뉴 호출 -->
|
||||||
|
<script type="text/javascript">
|
||||||
|
loadTreeMenu("{$main_menu->xml_file}", "main_menu", "menu", "{$layout_info->main_menu_name?$layout_info->main_menu_name:'home'}");
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<!-- 레이아웃과 연동될 css 파일 import -->
|
||||||
|
<!--%import("css/layout.css")-->
|
||||||
|
|
||||||
|
<!-- 상단 로고 및 main_menu 1차 출력 -->
|
||||||
|
<div class="layout_top">
|
||||||
|
<div class="layout_logo">
|
||||||
|
<a href="./">{$layout_info->top_title}</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layout_first_menu">
|
||||||
|
<!-- main_menu 1차 시작 -->
|
||||||
|
<script type="text/javascript">
|
||||||
|
xe_print_menu('main_menu', 1);
|
||||||
|
</script>
|
||||||
|
<!-- main_menu 1차 끝 -->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- 왼쪽 2차 메뉴 및 로그인과 기타 플러그인 부분 -->
|
||||||
|
<div class="layout_left">
|
||||||
|
<!-- 로그인 플러그인 -->
|
||||||
|
<img src="./common/tpl/images/blank.gif" class="zbxe_plugin_output" plugin="login_info" skin="default" colorset="normal" style="width:100px;height:100px;"/>
|
||||||
|
|
||||||
|
<!-- main_menu 2차 시작 -->
|
||||||
|
<div class="layout_second_menu">
|
||||||
|
<script type="text/javascript">
|
||||||
|
xe_print_menu('main_menu', 2, true);
|
||||||
|
</script>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!--@if($logged_info->is_admin == 'Y')-->
|
||||||
|
<!-- 관리자일 경우 레이아웃 관리 메뉴 -->
|
||||||
|
<div class="layout_admin">
|
||||||
|
<a href="#" onclick="location.href='{getUrl('act','dispLayoutAdminMenu','layout_srl',$layout_info->layout_srl)}';return false;">{$lang->cmd_layout_management}</a>
|
||||||
|
</div>
|
||||||
|
<!--@end-->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- 컨텐츠 출력 부분 -->
|
||||||
|
<div class="layout_content">
|
||||||
|
<div id="content">{$content}</div>
|
||||||
|
|
||||||
|
<!-- bottom_menu 메뉴 시작 -->
|
||||||
|
<div class="layout_bottom">
|
||||||
|
<div class="layout_bottom_menu">
|
||||||
|
<script type="text/javascript">
|
||||||
|
xe_print_menu('bottom_menu', 1);
|
||||||
|
</script>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
@ -1,11 +1,12 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<layout version="0.1">
|
<layout version="0.1">
|
||||||
<title xml:lang="ko">견본 레이아웃</title>
|
<title xml:lang="ko">견본 레이아웃 (JS 메뉴)</title>
|
||||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||||
<name xml:lang="ko">제로</name>
|
<name xml:lang="ko">제로</name>
|
||||||
<description xml:lang="ko">
|
<description xml:lang="ko">
|
||||||
견본 레이아웃입니다.
|
가장 기본적인 기능으로 이루어진 견본 레이아웃입니다.
|
||||||
가장 기본적인 기능으로 이루어져 있습니다.
|
main_menu, bottom_menu 2개의 메뉴로 구성되어 있으며 각 메뉴의 출력은 javascript 함수를 이용해서 출력합니다.
|
||||||
|
레이아웃을 만들때 편리하지만 자유도가 떨어집니다.
|
||||||
</description>
|
</description>
|
||||||
</author>
|
</author>
|
||||||
<extra_vars>
|
<extra_vars>
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,12 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<layout version="0.1">
|
<layout version="0.1">
|
||||||
<title xml:lang="ko">블로그 견본 레이아웃</title>
|
<title xml:lang="ko">견본 레이아웃 (PHP 메뉴) </title>
|
||||||
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||||
<name xml:lang="ko">제로</name>
|
<name xml:lang="ko">제로</name>
|
||||||
<description xml:lang="ko">
|
<description xml:lang="ko">
|
||||||
블로그 형태의 견본 레이아웃입니다.
|
가장 기본적인 기능으로 이루어진 견본 레이아웃입니다.
|
||||||
가장 기본적인 기능으로 이루어져 있습니다.
|
main_menu, bottom_menu 2개의 메뉴로 구성되어 있으며 각 메뉴의 출력은 php 코드로 하게 됩니다.
|
||||||
|
레이아웃을 만들때 js menu 보다는 복잡하지만 자유도가 높습니다.
|
||||||
</description>
|
</description>
|
||||||
</author>
|
</author>
|
||||||
<extra_vars>
|
<extra_vars>
|
||||||
|
|
|
||||||
192
layouts/sample_layout_php_menu/css/layout.css
Normal file
192
layouts/sample_layout_php_menu/css/layout.css
Normal file
|
|
@ -0,0 +1,192 @@
|
||||||
|
@charset "utf-8";
|
||||||
|
|
||||||
|
body {
|
||||||
|
margin:0px;
|
||||||
|
padding:0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 레이아웃 style
|
||||||
|
**/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 상단 로고 및 메인 1차 메뉴
|
||||||
|
**/
|
||||||
|
.layout_top {
|
||||||
|
margin:10px 10px 0px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 상단 로고 부분 */
|
||||||
|
.layout_logo A {
|
||||||
|
font-weight:bold;
|
||||||
|
font-size:16pt;
|
||||||
|
color:#888888;
|
||||||
|
text-decoration:none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 상단 1차 메뉴 */
|
||||||
|
.layout_first_menu {
|
||||||
|
border-bottom:2px solid #DDDDDD;
|
||||||
|
width:100%;
|
||||||
|
text-align:right;
|
||||||
|
padding:3px 0px 3px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 좌측 메뉴 및 메인 2차 메뉴, 로그인 플러그인 및 기타
|
||||||
|
**/
|
||||||
|
.layout_left {
|
||||||
|
width:220px;
|
||||||
|
float:left;
|
||||||
|
margin-top:10px;
|
||||||
|
position:absolute;
|
||||||
|
left:10px;
|
||||||
|
z-index:10;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 좌측 2차 메뉴 */
|
||||||
|
.layout_second_menu {
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 좌측 관리자 메뉴 */
|
||||||
|
.layout_admin {
|
||||||
|
margin-top:10px;
|
||||||
|
border:3px solid #EEEEEE;
|
||||||
|
padding:5px;
|
||||||
|
text-align:center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.layout_admin A {
|
||||||
|
color:#AAAAAA;
|
||||||
|
text-decoration:none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 컨텐츠 */
|
||||||
|
.layout_content {
|
||||||
|
position:absolute;
|
||||||
|
left:0px;
|
||||||
|
padding:10px 10px 0px 240px;
|
||||||
|
z-index:1;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content {
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 하단 메뉴 영역
|
||||||
|
**/
|
||||||
|
.layout_bottom {
|
||||||
|
clear:both;
|
||||||
|
margin-top:20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 하단 메뉴 */
|
||||||
|
.layout_bottom_menu {
|
||||||
|
width:100%;
|
||||||
|
text-align:center;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 메뉴 style, main_menu:1~3차, bottom_menu로 구성
|
||||||
|
**/
|
||||||
|
|
||||||
|
/* 1차 메뉴 */
|
||||||
|
.first_menu {
|
||||||
|
background-color:#999999;
|
||||||
|
padding:3px 10px 3px 10px;
|
||||||
|
margin-left:5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.first_menu A {
|
||||||
|
font-weight:normal;
|
||||||
|
color:#FFFFFF;
|
||||||
|
text-decoration:none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.first_menu_selected {
|
||||||
|
background-color:#000000;
|
||||||
|
padding:3px 10px 3px 10px;
|
||||||
|
margin-left:5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.first_menu_selected A {
|
||||||
|
color:#FFFFFF;
|
||||||
|
font-weight:bold;
|
||||||
|
text-decoration:none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 2차 메뉴 */
|
||||||
|
.second_menu {
|
||||||
|
padding:5px 0px 5px 5px;
|
||||||
|
background-color:#AAAAAA;
|
||||||
|
display:block;
|
||||||
|
border-bottom:1px solid #999999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.second_menu A {
|
||||||
|
color:#FFFFFF;
|
||||||
|
text-decoration:none;
|
||||||
|
font-weight:normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.second_menu_selected {
|
||||||
|
padding:5px 0px 5px 5px;
|
||||||
|
background-color:#666666;
|
||||||
|
display:block;
|
||||||
|
border-bottom:1px solid #444444;
|
||||||
|
}
|
||||||
|
|
||||||
|
.second_menu_selected A {
|
||||||
|
color:#FFFFFF;
|
||||||
|
font-weight:bold;
|
||||||
|
text-decoration:none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 3차 메뉴 */
|
||||||
|
.third_menu {
|
||||||
|
padding:5px 0px 5px 20px;
|
||||||
|
border-bottom:1px solid #EEEEEE;
|
||||||
|
display:block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.third_menu A {
|
||||||
|
color:#000000;
|
||||||
|
text-decoration:none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.third_menu_selected {
|
||||||
|
padding:5px 0px 5px 20px;
|
||||||
|
border-bottom:1px solid #EEEEEE;
|
||||||
|
font-weight:bold;
|
||||||
|
display:block;
|
||||||
|
background-color:#EFEFEF;
|
||||||
|
}
|
||||||
|
|
||||||
|
.third_menu_selected A {
|
||||||
|
color:#000000;
|
||||||
|
font-weight:bold;
|
||||||
|
text-decoration:none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 하단 메뉴 */
|
||||||
|
.bottom_menu {
|
||||||
|
margin-right:5px;
|
||||||
|
font-weight:normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bottom_menu A {
|
||||||
|
color:#000000;
|
||||||
|
text-decoration:none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bottom_menu_selected {
|
||||||
|
margin-right:5px;
|
||||||
|
font-weight:bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bottom_menu_selected A {
|
||||||
|
color:#000000;
|
||||||
|
font-weight:bold;
|
||||||
|
text-decoration:none;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -1,48 +0,0 @@
|
||||||
/**
|
|
||||||
* @brief sample_layout에서 메뉴를 출력하는 함수
|
|
||||||
* text : 메뉴 명
|
|
||||||
* href : 연결할 주소
|
|
||||||
* open_window : [Y|N] 새창으로 띄울 것인지에 대한 값
|
|
||||||
* normal_btn : 이미지 버튼
|
|
||||||
* hover_btn : 이미지 버튼일 경우 mouseover 일 경우
|
|
||||||
* active_btn : 선택되어 있을 경우의 이미지
|
|
||||||
* modifier : 구분자 ( <br /> 또는 null 이 사용 예상)
|
|
||||||
* selected_class : 이미지 버튼이 아닐 경우 선택된 문자열에 대한 css class (지정 안되어 있으면 <span style="font-weight:bold">..</span>로 처리
|
|
||||||
* selected : 선택된 메뉴라면 true, 아니면 false
|
|
||||||
**/
|
|
||||||
function xe_print_menu(text, href, open_window, normal_btn, hover_btn, active_btn, modifier, selected_class, selected) {
|
|
||||||
// 텍스트나 이미지 버튼이 없으면 패스~
|
|
||||||
if(!text && !normal_btn) return;
|
|
||||||
|
|
||||||
var html = "";
|
|
||||||
|
|
||||||
// 텍스트일 경우
|
|
||||||
if(!normal_btn) {
|
|
||||||
// 선택되었을 때의 class or style 지정
|
|
||||||
if(selected) {
|
|
||||||
if(!selected_class) selected_class = "style=\"font-weight:bold\"";
|
|
||||||
else selected_class = "class=\""+selected_class+"\"";
|
|
||||||
} else {
|
|
||||||
selected_class = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
if(open_window == "Y") html = "<span "+selected_class+"><a href=\"#\" onclick=\"winopen('"+href+"'); return false;\">"+text+"</a></span>";
|
|
||||||
else html = "<span "+selected_class+"><a href=\""+href+"\">"+text+"</a></span>";
|
|
||||||
|
|
||||||
// 이미지 버튼 일 경우
|
|
||||||
} else if(normal_btn) {
|
|
||||||
if(!hover_btn) hover_btn = normal_btn;
|
|
||||||
if(!active_btn) active_btn = normal_btn;
|
|
||||||
if(selected) normal_btn = active_btn;
|
|
||||||
|
|
||||||
if(open_window == "Y") html = "<a href=\"#\" onclick=\"winopen('"+href+"'); return false;\"><img src=\""+normal_btn+"\" border=\"0\" alt=\""+text+"\" onmouseover=\"this.src='"+hover_btn+"'\" onmouseout=\"this.src='"+normal_btn+"'\" /></a>";
|
|
||||||
else html = "<a href=\""+href+"\"><img src=\""+normal_btn+"\" border=\"0\" alt=\""+text+"\" onmouseover=\"this.src='"+hover_btn+"'\" onmouseout=\"this.src='"+normal_btn+"'\" /></a>";
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// modifier 출력
|
|
||||||
if(modifier) html += modifier;
|
|
||||||
|
|
||||||
document.write(html);
|
|
||||||
}
|
|
||||||
|
|
@ -1,123 +1,100 @@
|
||||||
<!-- 메뉴를 출력하기 위한 javascript 소스가 담긴 파일을 import -->
|
<!-- 레이아웃과 연동될 css 파일 import -->
|
||||||
<!--%import("js/layout.js")-->
|
<!--%import("css/layout.css")-->
|
||||||
|
|
||||||
<!-- tree_menu.js를 이용한 트리 메뉴 호출 -->
|
<!-- 상단 로고 및 main_menu 1차 출력 -->
|
||||||
<script type="text/javascript">
|
<div class="layout_top">
|
||||||
loadTreeMenu("{$main_menu->xml_file}", "main_menu", "menu", "{$layout_info->main_menu_name?$layout_info->main_menu_name:'home'}");
|
<div class="layout_logo">
|
||||||
</script>
|
<a href="./">{$layout_info->top_title}</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layout_first_menu">
|
||||||
|
|
||||||
<div style="height:50px;border:1px solid;margin-bottom:10px;">
|
<!-- main_menu 1차 시작 -->
|
||||||
{$layout_info->top_title}
|
<!--@foreach($main_menu->list as $key => $val)--><!--@if($val['text'])-->
|
||||||
|
|
||||||
<div style="float:right">
|
<!--@if($val['selected'])-->
|
||||||
|
{@ $class_name = 'first_menu_selected'}
|
||||||
|
{@ $second_menu_list = $val['list']}
|
||||||
|
<!--@else-->
|
||||||
|
{@ $class_name = 'first_menu'}
|
||||||
|
<!--@end-->
|
||||||
|
|
||||||
<div>
|
<span class="{$class_name}">
|
||||||
<!-- main_menu 1차 시작 -->
|
<a href="#" onclick="return move_url('{$val['href']}','{$val['open_window']}');">{$val['text']}</a>
|
||||||
|
</span>
|
||||||
|
|
||||||
<!-- 메뉴 표시 시작 : js/layout.js의 xe_print_menu() 함수를 이용해서 메뉴를 출력한다 (텍스트 혹은 이미지 버튼에 대한 처리를 위해서) -->
|
<!--@end--><!--@end-->
|
||||||
<script type="text/javascript">
|
<!-- main_menu 1차 끝 -->
|
||||||
<!--@foreach($main_menu->list as $key => $val)-->
|
|
||||||
xe_print_menu("{htmlspecialchars($val['text'])}","{htmlspecialchars($val['href'])}","{$val['open_window']}","{$val['normal_btn']}","{$val['hover_btn']}","{$val['active_btn']}","", "", {$val['selected']?'true':'false'});
|
|
||||||
|
|
||||||
<!-- 선택된 메뉴의 경우 2차 메뉴를 $second_menu_list에 설정 -->
|
</div>
|
||||||
<!--@if($val['selected'])-->
|
</div>
|
||||||
{@ $second_menu_list = $val['list']; }
|
|
||||||
<!--@end-->
|
|
||||||
|
|
||||||
|
<!-- 왼쪽 2차 메뉴 및 로그인과 기타 플러그인 부분 -->
|
||||||
|
<div class="layout_left">
|
||||||
|
<!-- 로그인 플러그인 -->
|
||||||
|
<img src="./common/tpl/images/blank.gif" class="zbxe_plugin_output" plugin="login_info" skin="default" colorset="normal" style="width:100px;height:100px;"/>
|
||||||
|
|
||||||
|
<!-- main_menu 2차 시작 -->
|
||||||
|
<div class="layout_second_menu">
|
||||||
|
<!--@foreach($second_menu_list as $key => $val)--><!--@if($val['text'])-->
|
||||||
|
|
||||||
|
<!--@if($val['selected'])-->
|
||||||
|
{@ $class_name = 'second_menu_selected'}
|
||||||
|
<!--@else-->
|
||||||
|
{@ $class_name = 'second_menu'}
|
||||||
|
<!--@end-->
|
||||||
|
|
||||||
|
<span class="{$class_name}">
|
||||||
|
<a href="#" onclick="return move_url('{$val['href']}','{$val['open_window']}');">{$val['text']}</a>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<!--@if($val['selected'])-->
|
||||||
|
<!-- main_menu 3차 시작 -->
|
||||||
|
<!--@foreach($val['list'] as $k => $v)--><!--@if($v['text'])-->
|
||||||
|
<!--@if($v['selected'])-->
|
||||||
|
{@ $class_name = 'third_menu_selected'}
|
||||||
|
<!--@else-->
|
||||||
|
{@ $class_name = 'third_menu'}
|
||||||
<!--@end-->
|
<!--@end-->
|
||||||
<!-- 메뉴 표시 끝 -->
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<!-- main_menu 1차 끝 -->
|
<span class="{$class_name}">
|
||||||
</div>
|
<a href="#" onclick="return move_url('{$v['href']}','{$v['open_window']}');">{$v['text']}</a>
|
||||||
|
</span>
|
||||||
|
<!--@end--><!--@end-->
|
||||||
|
<!--@end-->
|
||||||
|
|
||||||
<div>
|
<!--@end--><!--@end-->
|
||||||
<!-- main_menu 2차 시작 -->
|
<!-- main_menu 2차 끝 -->
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- 메뉴 표시 시작 : js/layout.js의 xe_print_menu() 함수를 이용해서 메뉴를 출력한다 (텍스트 혹은 이미지 버튼에 대한 처리를 위해서) -->
|
<!--@if($logged_info->is_admin == 'Y')-->
|
||||||
<script type="text/javascript">
|
<!-- 관리자일 경우 레이아웃 관리 메뉴 -->
|
||||||
<!--@foreach($second_menu_list as $key => $val)-->
|
<div class="layout_admin">
|
||||||
xe_print_menu("{htmlspecialchars($val['text'])}","{htmlspecialchars($val['href'])}","{$val['open_window']}","{$val['normal_btn']}","{$val['hover_btn']}","{$val['active_btn']}","", "", {$val['selected']?'true':'false'});
|
<a href="#" onclick="location.href='{getUrl('act','dispLayoutAdminMenu','layout_srl',$layout_info->layout_srl)}';return false;">{$lang->cmd_layout_management}</a>
|
||||||
|
</div>
|
||||||
|
<!--@end-->
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- 선택된 메뉴의 경우 3차 메뉴를 $third_menu_list에 설정 -->
|
<!-- 컨텐츠 출력 부분 -->
|
||||||
<!--@if($val['selected'])-->
|
<div class="layout_content">
|
||||||
{@ $third_menu_list = $val['list']; }
|
<div id="content">{$content}</div>
|
||||||
<!--@end-->
|
|
||||||
|
|
||||||
<!--@end-->
|
<!-- bottom_menu 메뉴 시작 -->
|
||||||
<!-- 메뉴 표시 끝 -->
|
<div class="layout_bottom">
|
||||||
</script>
|
<!--@foreach($bottom_menu->list as $key => $val)-->
|
||||||
|
|
||||||
<!-- main_menu 2차 끝 -->
|
<!--@if($val['selected'])-->
|
||||||
</div>
|
{@ $class_name = 'bottom_menu_selected'}
|
||||||
|
<!--@else-->
|
||||||
|
{@ $class_name = 'bottom_menu'}
|
||||||
|
<!--@end-->
|
||||||
|
|
||||||
|
<span class="{$class_name}">
|
||||||
|
<a href="#" onclick="return move_url('{$val['href']}','{$val['open_window']}');">{$val['text']}</a>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<!--@end-->
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
|
||||||
<table border="0" width="100%" style="table-layout:fixed">
|
|
||||||
<col width="220" />
|
|
||||||
<col width="*" />
|
|
||||||
<tr valign="top">
|
|
||||||
<td>
|
|
||||||
<div>
|
|
||||||
<img src="./common/tpl/images/blank.gif" class="zbxe_plugin_output" plugin="login_info" skin="default" colorset="normal" style="width:100px;height:100px;"/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="menu"></div>
|
|
||||||
<!--@if($logged_info->is_admin == 'Y')-->
|
|
||||||
<div>
|
|
||||||
<a href="#" onclick="location.href='{getUrl('act','dispLayoutAdminMenu','layout_srl',$layout_info->layout_srl)}';return false;">{$lang->cmd_layout_management}</a>
|
|
||||||
</div>
|
|
||||||
<!--@end-->
|
|
||||||
|
|
||||||
<!--@if($third_menu_list)-->
|
|
||||||
<div>
|
|
||||||
|
|
||||||
<!-- main_menu 3차 시작 -->
|
|
||||||
|
|
||||||
<!-- 메뉴 표시 시작 : js/layout.js의 xe_print_menu() 함수를 이용해서 메뉴를 출력한다 (텍스트 혹은 이미지 버튼에 대한 처리를 위해서) -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
<!--@foreach($third_menu_list as $key => $val)-->
|
|
||||||
xe_print_menu("{htmlspecialchars($val['text'])}","{htmlspecialchars($val['href'])}","{$val['open_window']}","{$val['normal_btn']}","{$val['hover_btn']}","{$val['active_btn']}","<br>","",{$val['selected']?'true':'false'});
|
|
||||||
<!--@end-->
|
|
||||||
<!-- 메뉴 표시 끝 -->
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<!-- main_menu 3차 끝 -->
|
|
||||||
</div>
|
|
||||||
<!--@end-->
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<div id="content">{$content}</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td colspan="2" align="center">
|
|
||||||
<div style="margin-top:20px;">
|
|
||||||
<!-- bottom_menu 메뉴 시작 -->
|
|
||||||
<!--@foreach($bottom_menu->list as $key => $val)--><!--@if($val['text'])-->
|
|
||||||
|
|
||||||
<!-- 1. 이미지 버튼일 경우 -->
|
|
||||||
|
|
||||||
<!-- 2. 이미지 버튼이 아닐 경우 -->
|
|
||||||
<!-- 선택된 메뉴일 경우의 class(or style) 지정 -->
|
|
||||||
<!--@if($val['selected'])-->
|
|
||||||
{@ $selected_style = 'style="font-weight:bold;"'}
|
|
||||||
<!--@else-->
|
|
||||||
{@ $selected_style = ''; }
|
|
||||||
<!--@end-->
|
|
||||||
|
|
||||||
<span {$selected_style}>
|
|
||||||
<a href="#" onclick="return move_url('{$val['href']}','{$val['open_window']}');">{$val['text']}</a>
|
|
||||||
</span>
|
|
||||||
<!-- 메뉴 표시 끝 -->
|
|
||||||
|
|
||||||
<!--@end--><!--@end-->
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th rowspan="2">{$lang->menu_url}</th>
|
<th rowspan="2">{$lang->menu_url}</th>
|
||||||
<td><input type="text" name="menu_url" value="{htmlspecialchars($menu_info->url)}" /><input type="button" value="{$lang->cmd_search_mid}" onclick="popopen('{getUrl('module','layout','act','dispLayoutAdminMidList','menu_id', $menu_info->menu_id)}');return false;"/></td>
|
<td><input type="text" name="menu_url" value="{htmlspecialchars($menu_info->url)}" /><input type="button" value="{$lang->cmd_search_mid}" onclick="popopen('{getUrl('module','layout','act','dispLayoutAdminMidList','menu_id', $menu_id)}');return false;"/></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>{$lang->about_menu_url}</td>
|
<td>{$lang->about_menu_url}</td>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue