diff --git a/modules/blog/blog.controller.php b/modules/blog/blog.controller.php
index 373d5d64b..8ed190a6d 100644
--- a/modules/blog/blog.controller.php
+++ b/modules/blog/blog.controller.php
@@ -302,6 +302,30 @@
}
}
+ // 메뉴 관리
+ $menus = get_object_vars($skin_info->menu);
+ if(count($menus)) {
+ foreach($menus as $menu_id => $val) {
+ $menu_srl = Context::get($menu_id);
+ if($menu_srl) {
+ $obj->menu->{$menu_id} = $menu_srl;
+ $obj->{$menu_id} = $menu_srl;
+ $menu_srl_list[] = $menu_srl;
+ }
+ }
+
+ // 정해진 메뉴가 있으면 모듈 및 메뉴에 대한 레이아웃 연동
+ if(count($menu_srl_list)) {
+ // 해당 메뉴와 레이아웃 값을 매핑
+ $oMenuController = &getController('menu');
+ $oMenuController->updateMenuLayout($module_srl, $menu_srl_list);
+
+ // 해당 메뉴에 속한 mid의 layout값을 모두 변경
+ $oModuleController = &getController('module');
+ $oModuleController->updateModuleLayout($module_srl, $menu_srl_list);
+ }
+ }
+
// serialize하여 저장
$obj->category_xml_file = sprintf("./files/cache/blog_category/%s.xml.php", $module_srl);
$skin_vars = serialize($obj);
diff --git a/modules/blog/blog.view.php b/modules/blog/blog.view.php
index 34fb0d314..ff7d7ee7e 100644
--- a/modules/blog/blog.view.php
+++ b/modules/blog/blog.view.php
@@ -90,6 +90,15 @@
// 레이아웃의 정보를 속이기 위해서 layout_srl을 현 블로그의 module_srl로 입력
$this->module_info->layout_srl = $this->module_info->module_srl;
+ // 메뉴 등록시 메뉴 정보를 구해옴
+ if($this->module_info->menu) {
+ foreach($this->module_info->menu as $menu_id => $menu_srl) {
+ $menu_php_file = sprintf("./files/cache/menu/%s.php", $menu_srl);
+ if(file_exists($menu_php_file)) include($menu_php_file);
+ Context::set($menu_id, $menu);
+ }
+ }
+
// 모듈정보와 레이아웃에서 사용하기 위한 레이아웃 정보를 세팅
Context::set('module_info',$this->module_info);
Context::set('layout_info',$this->module_info);
@@ -529,6 +538,18 @@
}
}
+ // skin_info에 menu값을 지정
+ if(count($skin_info->menu)) {
+ foreach($skin_info->menu as $key => $val) {
+ if($module_info->{$key}) $skin_info->menu->{$key}->menu_srl = $module_info->{$key};
+ }
+ }
+
+ // 메뉴를 가져옴
+ $oMenuModel = &getModel('menu');
+ $menu_list = $oMenuModel->getMenus();
+ Context::set('menu_list', $menu_list);
+
Context::set('skin_info', $skin_info);
$this->setTemplateFile('skin_info');
}
@@ -549,16 +570,6 @@
$this->setTemplateFile('category_list');
}
- /**
- * @brief 메뉴 정보
- **/
- function dispBlogAdminMenuInfo() {
- // module_srl을 구함
- $module_srl = $this->module_info->module_srl;
-
- $this->setTemplateFile('category_list');
- }
-
/**
* @brief 권한 목록 출력
**/
diff --git a/modules/blog/conf/module.xml b/modules/blog/conf/module.xml
index 2a0414ff5..5fc47fe3c 100644
--- a/modules/blog/conf/module.xml
+++ b/modules/blog/conf/module.xml
@@ -56,7 +56,6 @@