git-svn-id: http://xe-core.googlecode.com/svn/trunk@307 201d5d3c-b55e-5fd7-737f-ddc643e51545

This commit is contained in:
zero 2007-03-07 11:11:27 +00:00
parent f777c37e3d
commit ea6d03386e
9 changed files with 95 additions and 6 deletions

View file

@ -10,5 +10,6 @@
<action name="getMenuTplInfo" type="model" standalone="true" />
<action name="procInsertLayout" type="controller" standalone="true" />
<action name="procInsertLayoutMenu" type="controller" standalone="true" />
<action name="procDeleteLayoutMenu" type="controller" standalone="true" />
</actions>
</module>

View file

@ -90,6 +90,37 @@
$this->add('menu_title', $menu_title);
}
/**
* @brief 레이아웃 메뉴 삭제
**/
function procDeleteLayoutMenu() {
// 변수 정리
$args = Context::gets('layout_srl','layout','menu_srl','menu_id');
// DB에서 삭제
$oDB = &DB::getInstance();
$output = $oDB->executeQuery("layout.deleteLayoutMenu", $args);
if(!$output->toBool()) return $output;
// 해당 메뉴의 정보를 구함
$layout_info = $oLayoutModel->getLayoutInfoXml($args->layout);
$navigations = $layout_info->navigations;
if(count($navigations)) {
foreach($navigations as $key => $val) {
if($args->menu_id == $val->id) {
$menu_title = $val->name;
}
}
}
// XML 파일을 갱신하고 위치을 넘겨 받음
$xml_file = $this->makeXmlFile($args->layout_srl);
$this->add('xml_file', $xml_file[$args->menu_id]);
$this->add('menu_id', $args->menu_id);
$this->add('menu_title', $menu_title);
}
/**
* @brief 메뉴의 xml 파일을 만들고 위치를 return
**/

View file

@ -181,7 +181,6 @@
$oDB = &DB::getInstance();
$menu_info->menu_srl = $oDB->getNextSequence();
}
Context::set('menu_info', $menu_info);
// template 파일을 직접 컴파일한후 tpl변수에 담아서 return한다.

View file

@ -0,0 +1,8 @@
<query id="deleteLayoutMenu" action="delete">
<tables>
<table name="layout_menu" />
</tables>
<conditions>
<condition operation="equal" column="menu_srl" var="menu_srl" filter="number" notnull="notnull" />
</conditions>
</query>

View file

@ -0,0 +1,16 @@
<filter name="delete_layout_menu" module="layout" act="procDeleteLayoutMenu" confirm_msg_code="confirm_delete">
<form>
<node target="layout_srl" required="true" />
<node target="layout" required="true" />
<node target="menu_srl" required="true" />
<node target="menu_id" required="true" />
</form>
<response callback_func="completeInsertLayoutMenu">
<tag name="error" />
<tag name="message" />
<tag name="menu_srl" />
<tag name="xml_file" />
<tag name="menu_id" />
<tag name="menu_title" />
</response>
</filter>

View file

@ -10,9 +10,17 @@ function completeInsertLayoutMenu(ret_obj) {
var xml_file = ret_obj['xml_file'];
var menu_title = ret_obj['menu_title'];
var menu_srl = ret_obj['menu_srl'];
loadTreeMenu(xml_file, menu_id, "menu_zone_"+menu_id, menu_title, doGetMenuInfo);
loadTreeMenu(xml_file, menu_id, "menu_zone_"+menu_id, menu_title, doGetMenuInfo, menu_srl);
}
/* 레이아웃 멘뉴 삭제 */
function doDeleteLayoutMenu(menu_srl, menu_id) {
var fo_obj = xGetElementById("fo_"+menu_id);
if(!fo_obj) return;
procFilter(fo_obj, delete_layout_menu);
}
/* 레이아웃 메뉴에를 클릭시 적용할 함수 */
function doGetMenuInfo(menu_id, obj) {
// layout, menu_id, node_srl을 추출
@ -39,6 +47,7 @@ function doGetMenuInfo(menu_id, obj) {
function doInsertLayoutMenu(menu_id) {
var params = {node_srl:0}
doGetMenuInfo(menu_id, params);
deSelectNode();
}
/* 서버로부터 받아온 메뉴 정보를 출력 */

View file

@ -1,5 +1,6 @@
<!--%import("js/admin.js")-->
<!--%import("filter/insert_layout_menu.xml")-->
<!--%import("filter/delete_layout_menu.xml")-->
<form id="fo_layout" action="./" method="post" enctype="multipart/form-data">
<input type="hidden" name="layout_srl" value="{$layout_srl}" />
@ -50,7 +51,7 @@
({$val->maxdepth} {$lang->depth})
</th>
<td>
<form action="./" method="get" onsubmit="return procFilter(this, insert_layout_menu)">
<form id="fo_{$val->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="{$val->id}" />

View file

@ -55,6 +55,9 @@
<tr>
<td colspan="2">
<input type="submit" value="{$lang->cmd_submit}" />
<!--@if($menu_info->name)-->
<input type="button" value="{$lang->cmd_delete}" onclick="doDeleteLayoutMenu('{$menu_srl}','{$menu_info->menu_id}');return false"/>
<!--@end-->
</td>
</tr>
</table>