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 @@ - diff --git a/modules/blog/skins/default/layout.html b/modules/blog/skins/default/layout.html index ce4dfe0c2..df42435c4 100644 --- a/modules/blog/skins/default/layout.html +++ b/modules/blog/skins/default/layout.html @@ -31,6 +31,7 @@
+ diff --git a/modules/blog/skins/default/skin.xml b/modules/blog/skins/default/skin.xml index f3c0168b3..7f2aff512 100644 --- a/modules/blog/skins/default/skin.xml +++ b/modules/blog/skins/default/skin.xml @@ -1,44 +1,50 @@ - 블로그 기본 스킨 - - 제로 - blog 모듈의 default스킨 - - - - 기본 - - - 이상한거 - - - - - 상단 제목 - 레이아웃의 상단에 표시할 제목을 입력하세요. - - - 로고이미지 - 레이아웃의 상단에 표시될 로고이미지를 입력하세요. - - - 프로필 이미지 - 프로필 이미지를 입력해 주세요 (가로 사이즈는 200px이 가장 보기 좋습니다) - - - 프로필 - 간단한 프로필을 입력해주세요 - - - 카테고리명 - 카테고리의 이름을 입력해주세요. - - - 글쓴이 표시 - 다수가 블로그를 함께 운영시에 글쓴이의 이름을 표시할 수 있습니다. - off - on - - + 블로그 기본 스킨 + + 제로 + blog 모듈의 default스킨 + + + + 기본 + + + 이상한거 + + + + + 상단 제목 + 레이아웃의 상단에 표시할 제목을 입력하세요. + + + 로고이미지 + 레이아웃의 상단에 표시될 로고이미지를 입력하세요. + + + 프로필 이미지 + 프로필 이미지를 입력해 주세요 (가로 사이즈는 200px이 가장 보기 좋습니다) + + + 프로필 + 간단한 프로필을 입력해주세요 + + + 카테고리명 + 카테고리의 이름을 입력해주세요. + + + 글쓴이 표시 + 다수가 블로그를 함께 운영시에 글쓴이의 이름을 표시할 수 있습니다. + off + on + + + + + 상단 메뉴 + 1 + + diff --git a/modules/blog/tpl/header.html b/modules/blog/tpl/header.html index a29dbf4a1..c8b36158e 100644 --- a/modules/blog/tpl/header.html +++ b/modules/blog/tpl/header.html @@ -10,7 +10,6 @@ style="font-weight:bold">[{$lang->cmd_view_info}] style="font-weight:bold">[{$lang->cmd_manage_category}] - style="font-weight:bold">[{$lang->cmd_manage_menu}] style="font-weight:bold">[{$lang->cmd_manage_grant}] style="font-weight:bold">[{$lang->cmd_manage_skin}]
diff --git a/modules/blog/tpl/skin_info.html b/modules/blog/tpl/skin_info.html index 380793262..7483a9958 100644 --- a/modules/blog/tpl/skin_info.html +++ b/modules/blog/tpl/skin_info.html @@ -48,6 +48,22 @@ + + + + + {$menu_info->title}
({$menu_name}) + + + + + + diff --git a/modules/layout/layout.model.php b/modules/layout/layout.model.php index 09137e484..93e40011f 100644 --- a/modules/layout/layout.model.php +++ b/modules/layout/layout.model.php @@ -164,7 +164,7 @@ // 메뉴 if($xml_obj->menus->menu) { $menus = $xml_obj->menus->menu; - if(!is_array($menus)) $menus[] = $menus; + if(!is_array($menus)) $menus = array($menus); $menu_count = count($menus); $buff .= sprintf('$layout_info->menu_count = "%s";', $menu_count); diff --git a/modules/layout/tpl/layout_modify.html b/modules/layout/tpl/layout_modify.html index d51ebec10..adc5cc212 100644 --- a/modules/layout/tpl/layout_modify.html +++ b/modules/layout/tpl/layout_modify.html @@ -65,7 +65,7 @@ - {$menu_info->name} ({$menu_name}) + {$menu_info->title}
({$menu_name})