mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-05-11 04:52:14 +09:00
레이아웃 설정시 연결된 메뉴의 일괄 레이아웃 조절 기능을 정상적으로 동작하도록 수정
git-svn-id: http://xe-core.googlecode.com/svn/sandbox@3982 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
ffe907403e
commit
996d5c6167
3 changed files with 41 additions and 11 deletions
|
|
@ -54,22 +54,28 @@
|
||||||
$oLayoutModel = &getModel('layout');
|
$oLayoutModel = &getModel('layout');
|
||||||
$layout_info = $oLayoutModel->getLayout($args->layout_srl);
|
$layout_info = $oLayoutModel->getLayout($args->layout_srl);
|
||||||
$menus = get_object_vars($layout_info->menu);
|
$menus = get_object_vars($layout_info->menu);
|
||||||
if(count($menus)) {
|
if(count($menus) ) {
|
||||||
foreach($menus as $menu_id => $val) {
|
foreach($menus as $menu_id => $val) {
|
||||||
$menu_srl = Context::get($menu_id);
|
$menu_srl = Context::get($menu_id);
|
||||||
if(!$menu_srl) continue;
|
if(!$menu_srl) continue;
|
||||||
$menu_srl_list[] = $menu_srl;
|
$menu_srl_list[] = $menu_srl;
|
||||||
}
|
if(Context::get('apply_layout')=='Y') {
|
||||||
|
$menu_args = null;
|
||||||
|
$menu_args->menu_srl = $menu_srl;
|
||||||
|
$output = executeQueryArray('layout.getLayoutModules', $menu_args);
|
||||||
|
if($output->data) {
|
||||||
|
$modules = array();
|
||||||
|
for($i=0;$i<count($output->data);$i++) {
|
||||||
|
$modules[] = $output->data[$i]->module_srl;
|
||||||
|
}
|
||||||
|
|
||||||
// 정해진 메뉴가 있으면 모듈 및 메뉴에 대한 레이아웃 연동
|
if(count($modules)) {
|
||||||
if(count($menu_srl_list) && Context::get('apply_layout')=='Y') {
|
$update_args->module_srls = implode(',',$modules);
|
||||||
// 해당 메뉴와 레이아웃 값을 매핑
|
$update_args->layout_srl = $args->layout_srl;
|
||||||
$oMenuAdminController = &getAdminController('menu');
|
$output = executeQuery('layout.updateModuleLayout', $update_args);
|
||||||
$oMenuAdminController->updateMenuLayout($args->layout_srl, $menu_srl_list);
|
}
|
||||||
|
}
|
||||||
// 해당 메뉴에 속한 mid의 layout값을 모두 변경
|
}
|
||||||
$oModuleController = &getController('module');
|
|
||||||
$oModuleController->updateModuleLayout($args->layout_srl, $menu_srl_list);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
13
modules/layout/queries/getLayoutModules.xml
Normal file
13
modules/layout/queries/getLayoutModules.xml
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
<query id="getLayoutModules" action="select">
|
||||||
|
<tables>
|
||||||
|
<table name="menu_item" alais="menu_item" />
|
||||||
|
<table name="modules" alias="modules" />
|
||||||
|
</tables>
|
||||||
|
<columns>
|
||||||
|
<column name="modules.module_srl" />
|
||||||
|
</columns>
|
||||||
|
<conditions>
|
||||||
|
<condition operation="equal" column="menu_item.menu_srl" var="menu_srl" notnull="notnull" />
|
||||||
|
<condition operation="equal" column="menu_item.url" default="modules.mid" notnull="notnull" pipe="and" />
|
||||||
|
</conditions>
|
||||||
|
</query>
|
||||||
11
modules/layout/queries/updateModuleLayout.xml
Normal file
11
modules/layout/queries/updateModuleLayout.xml
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
<query id="updateModuleLayout" action="update">
|
||||||
|
<tables>
|
||||||
|
<table name="modules" />
|
||||||
|
</tables>
|
||||||
|
<columns>
|
||||||
|
<column name="layout_srl" var="layout_srl" />
|
||||||
|
</columns>
|
||||||
|
<conditions>
|
||||||
|
<condition operation="in" column="module_srl" var="module_srls" notnull="notnull"/>
|
||||||
|
</conditions>
|
||||||
|
</query>
|
||||||
Loading…
Add table
Add a link
Reference in a new issue