From f80f833c31b93188dcc61aea8e52b80aeaa67500 Mon Sep 17 00:00:00 2001 From: zero Date: Fri, 9 Mar 2007 00:26:49 +0000 Subject: [PATCH] git-svn-id: http://xe-core.googlecode.com/svn/trunk@349 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- common/js/tree_menu.js | 31 ++++++++++++++----- modules/layout/lang/ko.lang.php | 2 ++ modules/layout/layout.controller.php | 5 ++- modules/layout/queries/insertLayoutMenu.xml | 1 + modules/layout/queries/updateLayoutMenu.xml | 1 + modules/layout/schemas/layout_menu.xml | 1 + .../layout/tpl.admin/layout_menu_info.html | 7 +++++ 7 files changed, 39 insertions(+), 9 deletions(-) diff --git a/common/js/tree_menu.js b/common/js/tree_menu.js index ff8c4850f..1515aefc3 100644 --- a/common/js/tree_menu.js +++ b/common/js/tree_menu.js @@ -32,7 +32,7 @@ var node_info_list = new Array(); // menu_id별로 요청된 callback_func var node_callback_func = new Array(); -// 메뉴 클릭시 기본으로 동작할 함수 +// 메뉴 클릭시 기본으로 동작할 함수 (사용자 임의 함수로 대체될 수 있음) function moveTreeMenu(menu_id, node) { // url과 open_window값을 구함 var node_srl = node.getAttribute("node_srl"); @@ -161,12 +161,22 @@ function drawNode(parent_node, menu_id) { // 자식 노드가 있는지 확인하여 있으면 아이콘을 바꿈 if(hasChild) { - if(!hasNextSibling) { - line_icon = "minus"; - folder_icon = "page"; + if(node.getAttribute("expand")!="Y") { + if(!hasNextSibling) { + line_icon = "minus"; + folder_icon = "page"; + } else { + line_icon = "minusbottom"; + folder_icon = "page"; + } } else { - line_icon = "minusbottom"; - folder_icon = "page"; + if(!hasNextSibling) { + line_icon = "plus"; + folder_icon = "page"; + } else { + line_icon = "plusbottom"; + folder_icon = "page"; + } } } else { if(hasNextSibling) { @@ -207,8 +217,13 @@ function drawNode(parent_node, menu_id) { if(node.childNodes.length) { zone_id = zone_id+"_child"; tree_menu_folder_list[menu_id][tree_menu_folder_list[menu_id].length] = zone_id; - if(!hasNextSibling) html += ''; - else html += ''; + if(node.getAttribute("expand")!="Y") { + if(!hasNextSibling) html += ''; + else html += ''; + } else { + if(!hasNextSibling) html += '
'+drawNode(node, menu_id)+'
'; + else html += '
'+drawNode(node, menu_id)+'
'; + } } html += ''+ diff --git a/modules/layout/lang/ko.lang.php b/modules/layout/lang/ko.lang.php index 3438c2d59..c7e85da27 100644 --- a/modules/layout/lang/ko.lang.php +++ b/modules/layout/lang/ko.lang.php @@ -17,6 +17,7 @@ $lang->menu_id = '메뉴의 이름'; $lang->menu_url = '연결 url'; $lang->menu_open_window = '새창 열기'; + $lang->menu_expand = '펼침'; $lang->menu_img_btn = '이미지 버튼'; $lang->menu_normal_btn = '일반'; $lang->menu_hover_btn = '마우스오버'; @@ -31,6 +32,7 @@ $lang->about_menu_name = '관리 및 이미지 버튼이 아닐경우 메뉴 명으로 나타날 제목입니다'; $lang->about_menu_url = "메뉴를 선택시 이동한 URL입니다.
다른 모듈을 설치하시고자 할때는 \"module=모듈명\" 또는 \"mid=모듈\"등으로
입력하시면 됩니다.
내용이 없을시 메뉴를 선택하여도 아무런 동작이 없게 됩니다."; $lang->about_menu_open_window = '메뉴 선택시 새창으로 띄울 것인지를 정할 수 있습니다'; + $lang->about_menu_expand = '트리메뉴(tree_menu.js)를 사용시 늘 펼쳐진 상태로 있게 합니다'; $lang->about_menu_img_btn = '이미지 버튼을 등록하시면 레이아웃에서 자동으로 이미지 버튼으로 교체되어 표시가 됩니다.'; $lang->about_menu_group_srls = '그룹을 선택하시면 해당 그룹의 사용자만 메뉴가 보이게 됩니다. (xml파일을 직접 열람하면 노출이 됩니다)'; diff --git a/modules/layout/layout.controller.php b/modules/layout/layout.controller.php index 818347c90..b77337e56 100644 --- a/modules/layout/layout.controller.php +++ b/modules/layout/layout.controller.php @@ -94,6 +94,7 @@ unset($source_args->module); unset($source_args->act); if($source_args->menu_open_window!="Y") $source_args->menu_open_window = "N"; + if($source_args->expand !="Y") $source_args->expand = "N"; $source_args->group_srls = str_replace('|@|',',',$source_args->group_srls); $source_args->parent_srl = (int)$source_args->parent_srl; @@ -105,6 +106,7 @@ $args->name = $source_args->menu_name; $args->url = $source_args->menu_url; $args->open_window = $source_args->menu_open_window; + $args->expand = $source_args->expand; $args->normal_btn = $source_args->menu_normal_btn; $args->hover_btn = $source_args->menu_hover_btn; $args->active_btn = $source_args->menu_active_btn; @@ -270,11 +272,12 @@ if($menu_srl&&$tree[$menu_srl]) $child_buff = $this->getXmlTree($tree[$menu_srl], $tree); $attribute = sprintf( - 'node_srl="%s" text="%s" url="%s" open_window="%s" normal_btn="%s" hover_btn="%s" active_btn="%s" group_srls="%s"', + 'node_srl="%s" text="%s" url="%s" open_window="%s" expand="%s" normal_btn="%s" hover_btn="%s" active_btn="%s" group_srls="%s"', $node->menu_srl, str_replace(array('&','"','<','>'),array('&','"','<','>'),$node->name), str_replace(array('&','"','<','>'),array('&','"','<','>'),$node->url), $node->open_window, + $node->expand, str_replace(array('&','"','<','>'),array('&','"','<','>'),$node->normal_btn), str_replace(array('&','"','<','>'),array('&','"','<','>'),$node->hover_btn), str_replace(array('&','"','<','>'),array('&','"','<','>'),$node->active_btn), diff --git a/modules/layout/queries/insertLayoutMenu.xml b/modules/layout/queries/insertLayoutMenu.xml index 71bef7141..69280433c 100644 --- a/modules/layout/queries/insertLayoutMenu.xml +++ b/modules/layout/queries/insertLayoutMenu.xml @@ -10,6 +10,7 @@ + diff --git a/modules/layout/queries/updateLayoutMenu.xml b/modules/layout/queries/updateLayoutMenu.xml index bd3b20a9e..e24515a64 100644 --- a/modules/layout/queries/updateLayoutMenu.xml +++ b/modules/layout/queries/updateLayoutMenu.xml @@ -6,6 +6,7 @@ + diff --git a/modules/layout/schemas/layout_menu.xml b/modules/layout/schemas/layout_menu.xml index 1b78da8ac..dfedf2852 100644 --- a/modules/layout/schemas/layout_menu.xml +++ b/modules/layout/schemas/layout_menu.xml @@ -6,6 +6,7 @@ + diff --git a/modules/layout/tpl.admin/layout_menu_info.html b/modules/layout/tpl.admin/layout_menu_info.html index d28665683..7185334d2 100644 --- a/modules/layout/tpl.admin/layout_menu_info.html +++ b/modules/layout/tpl.admin/layout_menu_info.html @@ -31,6 +31,13 @@ {$lang->about_menu_open_window} + + {$lang->menu_expand} + expand=="Y")-->checked="true" /> + + + {$lang->about_menu_expand} + {$lang->menu_img_btn} {$lang->about_menu_img_btn}