mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-24 13:49:56 +09:00
git-svn-id: http://xe-core.googlecode.com/svn/trunk@1172 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
d0a341ec95
commit
d08a5b7787
10 changed files with 192 additions and 112 deletions
|
|
@ -1,15 +1,9 @@
|
|||
<filter name="delete_menu" module="menu" act="procMenuAdminDelete" confirm_msg_code="confirm_delete">
|
||||
<form>
|
||||
<node target="menu_srl" required="true" />
|
||||
<node target="menu_srl" required="true" />
|
||||
<node target="menu_id" required="true" />
|
||||
</form>
|
||||
<response callback_func="completeInsertMenuMenu">
|
||||
<response callback_func="completeDeleteMenu">
|
||||
<tag name="error" />
|
||||
<tag name="message" />
|
||||
<tag name="menu_srl" />
|
||||
<tag name="xml_file" />
|
||||
<tag name="menu_id" />
|
||||
<tag name="menu_title" />
|
||||
</response>
|
||||
</filter>
|
||||
|
|
|
|||
9
modules/menu/tpl/filter/delete_menu_item.xml
Normal file
9
modules/menu/tpl/filter/delete_menu_item.xml
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
<filter name="delete_menu_item" module="menu" act="procMenuAdminDeleteItem" confirm_msg_code="confirm_delete">
|
||||
<form>
|
||||
<node target="menu_srl" required="true" />
|
||||
</form>
|
||||
<response callback_func="completeDeleteMenuItem">
|
||||
<tag name="error" />
|
||||
<tag name="message" />
|
||||
</response>
|
||||
</filter>
|
||||
|
|
@ -1,15 +1,10 @@
|
|||
<filter name="insert_menu" module="menu" act="procMenuAdminInsert" confirm_msg_code="confirm_submit">
|
||||
<form>
|
||||
<node target="menu_srl" required="true" />
|
||||
<node target="menu_id" required="true" />
|
||||
<node target="menu_name" required="true" />
|
||||
<node target="title" required="true" />
|
||||
</form>
|
||||
<response callback_func="completeInsertMenu">
|
||||
<tag name="error" />
|
||||
<tag name="message" />
|
||||
<tag name="menu_srl" />
|
||||
<tag name="xml_file" />
|
||||
<tag name="menu_id" />
|
||||
<tag name="menu_title" />
|
||||
</response>
|
||||
</filter>
|
||||
|
|
|
|||
12
modules/menu/tpl/filter/insert_menu_item.xml
Normal file
12
modules/menu/tpl/filter/insert_menu_item.xml
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
<filter name="insert_menu_item" module="menu" act="procMenuAdminInsertItem" confirm_msg_code="confirm_submit">
|
||||
<form>
|
||||
<node target="menu_srl" required="true" />
|
||||
</form>
|
||||
<response callback_func="completeInsertMenuItem">
|
||||
<tag name="error" />
|
||||
<tag name="message" />
|
||||
<tag name="menu_srl" />
|
||||
<tag name="xml_file" />
|
||||
<tag name="menu_title" />
|
||||
</response>
|
||||
</filter>
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
<filter name="move_menu" module="menu" act="procMenuAdminMove" confirm_msg_code="confirm_move">
|
||||
<filter name="move_menu_item" module="menu" act="procMenuAdminMoveItem" confirm_msg_code="confirm_move">
|
||||
<form />
|
||||
<parameter />
|
||||
<response callback_func="completeMoveMenu">
|
||||
<response callback_func="completeMoveMenuItem">
|
||||
<tag name="error" />
|
||||
<tag name="message" />
|
||||
<tag name="menu_id" />
|
||||
|
|
@ -1,14 +1,13 @@
|
|||
<!--%import("filter/delete_layout.xml")-->
|
||||
|
||||
<!--#include("header.html")-->
|
||||
<!--%import("filter/delete_menu.xml")-->
|
||||
<!--%import("js/menu_admin.js")-->
|
||||
|
||||
<div>
|
||||
{$lang->total_count} {number_format(count($layout_list))}
|
||||
{$lang->total_count} {number_format($total_count)}
|
||||
</div>
|
||||
|
||||
<!-- 삭제를 위한 임시 form -->
|
||||
<form id="fo_layout" action="./" method="get" onsubmit="return procFilter(this, delete_layout)">
|
||||
<input type="hidden" name="layout_srl" value="" />
|
||||
<form id="fo_menu" action="./" method="get">
|
||||
<input type="hidden" name="menu_srl" value="" />
|
||||
</form>
|
||||
|
||||
<!-- 목록 -->
|
||||
|
|
@ -16,19 +15,17 @@
|
|||
<table>
|
||||
<tr>
|
||||
<th>{$lang->no}</th>
|
||||
<th>{$lang->layout}</th>
|
||||
<th>{$lang->title}</th>
|
||||
<th>{$lang->regdate}</th>
|
||||
<th>{$lang->cmd_delete}</th>
|
||||
</tr>
|
||||
|
||||
<!--@foreach($layout_list as $no => $val)-->
|
||||
<!--@foreach($menu_list as $no => $val)-->
|
||||
<tr>
|
||||
<td>{$no+1}</td>
|
||||
<td>{$val->layout}</td>
|
||||
<td><a href="#" onclick="location.href='{getUrl('act','dispLayoutAdminMenu','layout_srl',$val->layout_srl)}';return false;">{htmlspecialchars($val->title)}</a></td>
|
||||
<td>{$no}</td>
|
||||
<td><a href="#" onclick="location.href='{getUrl('act','dispMenuAdminManagement','menu_srl',$val->menu_srl)}';return false;">{htmlspecialchars($val->title)}</a></td>
|
||||
<td>{zdate($val->regdate,"Y-m-d")}</td>
|
||||
<td><a href="#" onclick="doDeleteLayout('{$val->layout_srl}');return false;">{$lang->cmd_delete}</a></td>
|
||||
<td><a href="#" onclick="doDeleteMenu('{$val->menu_srl}');return false;">{$lang->cmd_delete}</a></td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
|
||||
|
|
@ -37,5 +34,20 @@
|
|||
|
||||
<!-- 버튼 -->
|
||||
<div>
|
||||
[<a href="{getUrl('act','dispLayoutAdminInsert','layout_srl','')}">{$lang->cmd_make}</a>]
|
||||
[<a href="{getUrl('act','dispMenuAdminInsert','menu_srl','')}">{$lang->cmd_make}</a>]
|
||||
</div>
|
||||
|
||||
<!-- 페이지 네비게이션 -->
|
||||
<div>
|
||||
<a href="{getUrl('page','','menu_srl','')}">[{$lang->first_page}]</a>
|
||||
|
||||
<!--@while($page_no = $page_navigation->getNextPage())-->
|
||||
<!--@if($page == $page_no)-->
|
||||
{$page_no}
|
||||
<!--@else-->
|
||||
<a href="{getUrl('page',$page_no)}">[{$page_no}]</a>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
|
||||
<a href="{getUrl('page',$page_navigation->last_page,'document_srl','')}">[{$lang->last_page}]</a>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,31 +1,40 @@
|
|||
/* 메뉴 입력후 */
|
||||
function completeInsertLayoutMenu(ret_obj) {
|
||||
var menu_id = ret_obj['menu_id'];
|
||||
var xml_file = ret_obj['xml_file'];
|
||||
var menu_title = ret_obj['menu_title'];
|
||||
function completeInsertMenu(ret_obj) {
|
||||
var menu_srl = ret_obj['menu_srl'];
|
||||
|
||||
if(!xml_file) return;
|
||||
loadTreeMenu(xml_file, menu_id, "menu_zone_"+menu_id, menu_title, doGetMenuInfo, menu_srl, doMoveTree);
|
||||
|
||||
if(!menu_srl) xInnerHtml("menu_zone_info_"+menu_id, "");
|
||||
alert(ret_obj['message']);
|
||||
location.href = location.href.setQuery('act','dispMenuAdminManagement').setQuery('menu_srl',menu_srl);
|
||||
}
|
||||
|
||||
/* 메뉴 삭제 */
|
||||
function doDeleteLayoutMenu(menu_srl, menu_id) {
|
||||
var fo_obj = xGetElementById("fo_"+menu_id);
|
||||
function doDeleteMenu(menu_srl) {
|
||||
var fo_obj = xGetElementById("fo_menu");
|
||||
if(!fo_obj) return;
|
||||
fo_obj.menu_srl.value = menu_srl;
|
||||
procFilter(fo_obj, delete_menu);
|
||||
}
|
||||
|
||||
procFilter(fo_obj, delete_layout_menu);
|
||||
/* 메뉴 삭제 후 */
|
||||
function completeDeleteMenu(ret_obj) {
|
||||
var menu_srl = ret_obj['menu_srl'];
|
||||
alert(ret_obj['message']);
|
||||
location.href = location.href.setQuery('act','dispMenuAdminContent').setQuery('menu_srl','');
|
||||
}
|
||||
|
||||
/* 빈 메뉴 아이템 추가 */
|
||||
function doInsertLayoutMenuItem(parent_srl) {
|
||||
if(typeof(parent_srl)=='undefined') parent_srl = 0;
|
||||
var params = {node_srl:0, parent_srl:parent_srl}
|
||||
doGetMenuItemInfo(params);
|
||||
deSelectNode();
|
||||
}
|
||||
|
||||
/* 메뉴 클릭시 적용할 함수 */
|
||||
function doGetMenuInfo(menu_id, obj) {
|
||||
function doGetMenuItemInfo(obj) {
|
||||
// layout, menu_id, node_srl을 추출
|
||||
var fo_obj = xGetElementById("fo_layout");
|
||||
var layout = fo_obj.layout.value;
|
||||
var fo_obj = xGetElementById("fo_menu");
|
||||
var node_srl = 0;
|
||||
var parent_srl = 0;
|
||||
|
||||
if(typeof(obj.getAttribute)!="undefined") {
|
||||
node_srl = obj.getAttribute("node_srl");
|
||||
} else {
|
||||
|
|
@ -34,16 +43,23 @@ function doGetMenuInfo(menu_id, obj) {
|
|||
}
|
||||
|
||||
var params = new Array();
|
||||
params["menu_id"] = menu_id;
|
||||
params["layout"] = layout;
|
||||
params["menu_srl"] = node_srl;
|
||||
params["parent_srl"] = parent_srl;
|
||||
|
||||
// 서버에 요청하여 해당 노드의 정보를 수정할 수 있도록 한다.
|
||||
var response_tags = new Array('error','message','menu_id', 'tpl');
|
||||
exec_xml('layout', 'getLayoutAdminMenuTplInfo', params, completeGetMenuInfo, response_tags, params);
|
||||
var response_tags = new Array('error','message','tpl');
|
||||
exec_xml('menu', 'getMenuAdminTplInfo', params, completeGetMenuItemTplInfo, response_tags, params);
|
||||
}
|
||||
|
||||
/* 서버로부터 받아온 메뉴 정보를 출력 */
|
||||
function completeGetMenuItemTplInfo(ret_obj, response_tags) {
|
||||
var tpl = ret_obj['tpl'];
|
||||
xInnerHtml("menu_zone_info", tpl);
|
||||
var fo_obj = xGetElementById("fo_menu");
|
||||
fo_obj.menu_name.focus();
|
||||
}
|
||||
|
||||
|
||||
/* 메뉴를 드래그하여 이동한 후 실행할 함수 , 이동하는 node_srl과 대상 node_srl을 받음 */
|
||||
function doMoveTree(menu_id, source_node_srl, target_node_srl) {
|
||||
var fo_obj = xGetElementById("fo_move_menu");
|
||||
|
|
@ -75,26 +91,38 @@ function completeMoveLayoutMenu(ret_obj) {
|
|||
var menu_title = fo_menu.menu_title.value;
|
||||
var tmp = source_node_srl.split('_');
|
||||
var menu_srl = tmp[tmp.length-1];
|
||||
loadTreeMenu(xml_file, menu_id, "menu_zone_"+menu_id, menu_title, doGetMenuInfo, menu_srl, doMoveTree);
|
||||
loadTreeMenu(xml_file, menu_id, "menu_zone_"+menu_id, menu_title, doGetMenuItemInfo, menu_srl, doMoveTree);
|
||||
}
|
||||
|
||||
/* 서버로부터 받아온 메뉴 정보를 출력 */
|
||||
function completeGetMenuInfo(ret_obj, response_tags) {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* 메뉴 아이템 입력후 */
|
||||
function completeInsertMenuItem(ret_obj) {
|
||||
var menu_id = ret_obj['menu_id'];
|
||||
var tpl = ret_obj['tpl'];
|
||||
xInnerHtml("menu_zone_info_"+menu_id, "");
|
||||
xInnerHtml("menu_zone_info_"+menu_id, tpl);
|
||||
var xml_file = ret_obj['xml_file'];
|
||||
var menu_title = ret_obj['menu_title'];
|
||||
var menu_srl = ret_obj['menu_srl'];
|
||||
|
||||
var fo_obj = xGetElementById("fo_"+menu_id);
|
||||
fo_obj.menu_name.focus();
|
||||
}
|
||||
if(!xml_file) return;
|
||||
loadTreeMenu(xml_file, menu_id, "menu_zone_"+menu_id, menu_title, doGetMenuItemInfo, menu_srl, doMoveTree);
|
||||
|
||||
/* 빈 메뉴 추가시 사용 */
|
||||
function doInsertLayoutMenu(menu_id, parent_srl) {
|
||||
if(typeof(parent_srl)=='undefined') parent_srl = 0;
|
||||
var params = {node_srl:0, parent_srl:parent_srl}
|
||||
doGetMenuInfo(menu_id, params);
|
||||
deSelectNode();
|
||||
if(!menu_srl) xInnerHtml("menu_zone_info_"+menu_id, "");
|
||||
}
|
||||
|
||||
/* 메뉴 삭제 */
|
||||
function doDeleteLayoutMenu(menu_srl, menu_id) {
|
||||
var fo_obj = xGetElementById("fo_"+menu_id);
|
||||
if(!fo_obj) return;
|
||||
|
||||
procFilter(fo_obj, delete_layout_menu);
|
||||
}
|
||||
|
||||
/* 메뉴 목록 갱신 */
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<input type="hidden" name="menu_srl" value="{$menu_info->menu_srl}" />
|
||||
<input type="hidden" name="menu_item_srl" value="{$menu_info->menu_item_srl}" />
|
||||
<input type="hidden" name="parent_srl" value="{$menu_info->parent_srl}" />
|
||||
|
||||
<table border="1" width="100%">
|
||||
|
|
@ -70,8 +70,8 @@
|
|||
<td colspan="2">
|
||||
<!--@if($menu_info->name)-->
|
||||
<input type="submit" value="{$lang->cmd_save}" />
|
||||
<input type="button" value="{$lang->cmd_make_child}" onclick="doInsertLayoutMenu('{$menu_info->menu_id}','{$menu_info->menu_srl}');return false" />
|
||||
<input type="button" value="{$lang->cmd_delete}" onclick="doDeleteLayoutMenu('{$menu_srl}','{$menu_info->menu_id}');return false" />
|
||||
<input type="button" value="{$lang->cmd_make_child}" onclick="doInsertLayoutMenu('{$menu_info->menu_item_srl}');return false" />
|
||||
<input type="button" value="{$lang->cmd_delete}" onclick="doDeleteLayoutMenu('{$menu_item_srl}');return false" />
|
||||
<!--@else-->
|
||||
<input type="submit" value="{$lang->cmd_submit}" />
|
||||
<!--@end-->
|
||||
|
|
|
|||
|
|
@ -1,54 +1,27 @@
|
|||
<!--%import("filter/insert_menu.xml")-->
|
||||
<!--%import("filter/delete_menu.xml")-->
|
||||
<!--%import("filter/move_menu.xml")-->
|
||||
<!--%import("js/menu_admin.js")-->
|
||||
|
||||
<!-- 메뉴 이동을 위해 임시로 사용하는 form -->
|
||||
<form id="fo_move_menu" action="./" method="get">
|
||||
<input type="hidden" name="menu_id" />
|
||||
<input type="hidden" name="source_node_srl" />
|
||||
<input type="hidden" name="target_node_srl" />
|
||||
</form>
|
||||
<form action="./" method="get" onsubmit="return procFilter(this, insert_menu)">
|
||||
|
||||
<div style="margin-bottom:10px;">
|
||||
<div>
|
||||
<h4>{$lang->menu_management}</h4>
|
||||
<h5>{nl2br($lang->about_menu_management)}</h5>
|
||||
</div>
|
||||
|
||||
<!--@foreach($layout_info->menu as $menu_id => $menu)-->
|
||||
<form id="fo_{$menu_id}" action="./" method="get" onsubmit="return procFilter(this, insert_layout_menu)">
|
||||
<input type="hidden" name="layout_srl" value="{$layout_srl}" />
|
||||
<input type="hidden" name="layout" value="{$layout_info->layout}" />
|
||||
<input type="hidden" name="menu_id" value="{$menu_id}" />
|
||||
<input type="hidden" name="menu_title" value="{$menu->name}" />
|
||||
<input type="hidden" name="xml_file" value="{$menu_info->xml_file}" />
|
||||
|
||||
<table border="1" width="100%">
|
||||
<col width="300" />
|
||||
<col width="*" />
|
||||
<tr valign="top">
|
||||
<td>
|
||||
<div id="menu_zone_{$menu_id}"></div>
|
||||
<div>
|
||||
<input type="checkbox" id="{$menu_id}_enable_move" /> <label for="{$menu_id}_enable_move">{$lang->cmd_enable_move_menu}</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="button" value="{$lang->cmd_insert}" onclick="doInsertLayoutMenu('{$menu_id}');return false;" />
|
||||
<input type="button" value="{$lang->cmd_open_all}" onclick="openAllTreeMenu('{$menu_id}');return false;" />
|
||||
<input type="button" value="{$lang->cmd_close_all}" onclick="closeAllTreeMenu('{$menu_id}');return false;" />
|
||||
<input type="button" value="{$lang->cmd_remake_cache}" onclick="doReloadTreeMenu('{$menu_id}');return false;" />
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div id="menu_zone_info_{$menu_id}"></div>
|
||||
<div style="margin-bottom:10px;">
|
||||
<table border="1">
|
||||
<tr>
|
||||
<th>{$lang->cmd_menu_insert}</th>
|
||||
<td>{nl2br($lang->about_menu_management)}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th rowspan="2">{$lang->title}</th>
|
||||
<td><input type="text" name="title" value="{$menu_info->title}" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{$lang->about_title}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<input type="button" value="{$lang->cmd_back}" onclick="location.href=location.href.setQuery('act','dispMenuAdminContent')" />
|
||||
<input type="submit" value="{$lang->cmd_submit}" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
<script type="text/javascript">
|
||||
loadTreeMenu("{$menu_info->xml_file}", "{$menu_id}", "menu_zone_{$menu_id}", "{$menu_info->name} ({$lang->limit_menu_depth} : {$menu_info->maxdepth} {$lang->depth})", doGetMenuInfo, 0, doMoveTree);
|
||||
</script>
|
||||
<br />
|
||||
<!--@end-->
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
|||
57
modules/menu/tpl/menu_management.html
Normal file
57
modules/menu/tpl/menu_management.html
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
<!--%import("filter/insert_menu_item.xml")-->
|
||||
<!--%import("filter/delete_menu_item.xml")-->
|
||||
<!--%import("filter/move_menu_item.xml")-->
|
||||
<!--%import("js/menu_admin.js")-->
|
||||
|
||||
<!-- 메뉴 이동을 위해 임시로 사용하는 form -->
|
||||
<form id="fo_move_menu" action="./" method="get">
|
||||
<input type="hidden" name="source_node_srl" />
|
||||
<input type="hidden" name="target_node_srl" />
|
||||
</form>
|
||||
|
||||
|
||||
<div style="margin-bottom:10px;">
|
||||
<table border="1" width="100%">
|
||||
<tr>
|
||||
<th>{$lang->title}</th>
|
||||
<td>{$menu_info->title}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{$lang->menu_management}</th>
|
||||
<td>{nl2br($lang->about_menu_management)}</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<form id="fo_menu" action="./" method="get" onsubmit="return procFilter(this, insert_menu)">
|
||||
<input type="hidden" name="menu_srl" value="{$menu_info->menu_srl}" />
|
||||
<input type="hidden" name="xml_file" value="{$menu_info->xml_file}" />
|
||||
<input type="hidden" name="php_file" value="{$menu_info->php_file}" />
|
||||
|
||||
<table border="1" width="100%">
|
||||
<col width="300" />
|
||||
<col width="*" />
|
||||
<tr valign="top">
|
||||
<td>
|
||||
<div id="menu_zone_menu"></div>
|
||||
<div>
|
||||
<input type="checkbox" id="menu_enable_move" /> <label for="menu_enable_move">{$lang->cmd_enable_move_menu}</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="button" value="{$lang->cmd_insert}" onclick="doInsertLayoutMenuItem('{$menu_info->menu_srl}');return false;" />
|
||||
<input type="button" value="{$lang->cmd_open_all}" onclick="openAllTreeMenu('menu');return false;" />
|
||||
<input type="button" value="{$lang->cmd_close_all}" onclick="closeAllTreeMenu('menu');return false;" />
|
||||
<input type="button" value="{$lang->cmd_remake_cache}" onclick="doReloadTreeMenu('menu');return false;" />
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div id="menu_zone_info"></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</form>
|
||||
|
||||
<script type="text/javascript">
|
||||
loadTreeMenu("{$menu_info->xml_file}", "menu", "menu_zone_menu", "{$menu_info->title}", doGetMenuItemInfo, 0, doMoveTree);
|
||||
</script>
|
||||
</div>
|
||||
Loading…
Add table
Add a link
Reference in a new issue