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

This commit is contained in:
zero 2007-04-20 09:23:33 +00:00
parent 45f679a9ad
commit e5db303dea
11 changed files with 132 additions and 56 deletions

View file

@ -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);

View file

@ -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 권한 목록 출력
**/

View file

@ -56,7 +56,6 @@
<action name="dispBlogAdminInsertBlog" type="view" standalone="true" />
<action name="dispBlogAdminDeleteBlog" type="view" standalone="true" />
<action name="dispBlogAdminCategoryInfo" type="view" standalone="true" />
<action name="dispBlogAdminMenuInfo" type="view" standalone="true" />
<action name="dispBlogAdminSkinInfo" type="view" standalone="true" />
<action name="dispBlogAdminGrantInfo" type="view" standalone="true" />
<action name="dispBlogAdminManageDocument" type="view" />

View file

@ -31,6 +31,7 @@
<div class="layout_first_menu">
<!-- top_menu 시작 -->
<!--@foreach($top_menu->list as $key => $val)--><!--@if($val['text'])-->
<!--@if($val['selected'])-->

View file

@ -1,44 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<skin>
<title xml:lang="ko">블로그 기본 스킨</title>
<maker email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
<name xml:lang="ko">제로</name>
<description xml:lang="ko">blog 모듈의 default스킨</description>
</maker>
<colorset>
<color name="normal" src="screenshot/normal.gif">
<title xml:lang="ko">기본</title>
</color>
<color name="deep" src="screenshot/blue.gif">
<title xml:lang="ko">이상한거</title>
</color>
</colorset>
<extra_vars>
<var name="top_title" type="text">
<title xml:lang="ko">상단 제목</title>
<description xml:lang="ko">레이아웃의 상단에 표시할 제목을 입력하세요.</description>
</var>
<var name="logo_image" type="image" width="60" height="60">
<title xml:lang="ko">로고이미지</title>
<description xml:lang="ko">레이아웃의 상단에 표시될 로고이미지를 입력하세요.</description>
</var>
<var name="profile_image" type="image" width="60" height="60">
<title xml:lang="ko">프로필 이미지</title>
<description xml:lang="ko">프로필 이미지를 입력해 주세요 (가로 사이즈는 200px이 가장 보기 좋습니다)</description>
</var>
<var name="profile" type="textarea">
<title xml:lang="ko">프로필</title>
<description lang="ko">간단한 프로필을 입력해주세요</description>
</var>
<var name="category_name" type="text">
<title xml:lang="ko">카테고리명</title>
<description lang="ko">카테고리의 이름을 입력해주세요.</description>
</var>
<var name="display_writer" type="select">
<title xml:lang="ko">글쓴이 표시</title>
<description lang="ko">다수가 블로그를 함께 운영시에 글쓴이의 이름을 표시할 수 있습니다.</description>
<default>off</default>
<default>on</default>
</var>
</extra_vars>
<title xml:lang="ko">블로그 기본 스킨</title>
<maker email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
<name xml:lang="ko">제로</name>
<description xml:lang="ko">blog 모듈의 default스킨</description>
</maker>
<colorset>
<color name="normal" src="screenshot/normal.gif">
<title xml:lang="ko">기본</title>
</color>
<color name="deep" src="screenshot/blue.gif">
<title xml:lang="ko">이상한거</title>
</color>
</colorset>
<extra_vars>
<var name="top_title" type="text">
<title xml:lang="ko">상단 제목</title>
<description xml:lang="ko">레이아웃의 상단에 표시할 제목을 입력하세요.</description>
</var>
<var name="logo_image" type="image" width="60" height="60">
<title xml:lang="ko">로고이미지</title>
<description xml:lang="ko">레이아웃의 상단에 표시될 로고이미지를 입력하세요.</description>
</var>
<var name="profile_image" type="image" width="60" height="60">
<title xml:lang="ko">프로필 이미지</title>
<description xml:lang="ko">프로필 이미지를 입력해 주세요 (가로 사이즈는 200px이 가장 보기 좋습니다)</description>
</var>
<var name="profile" type="textarea">
<title xml:lang="ko">프로필</title>
<description lang="ko">간단한 프로필을 입력해주세요</description>
</var>
<var name="category_name" type="text">
<title xml:lang="ko">카테고리명</title>
<description lang="ko">카테고리의 이름을 입력해주세요.</description>
</var>
<var name="display_writer" type="select">
<title xml:lang="ko">글쓴이 표시</title>
<description lang="ko">다수가 블로그를 함께 운영시에 글쓴이의 이름을 표시할 수 있습니다.</description>
<default>off</default>
<default>on</default>
</var>
</extra_vars>
<menus>
<menu name="top_menu" default="true">
<title xml:lang="ko">상단 메뉴</title>
<maxdepth>1</maxdepth>
</menu>
</menus>
</skin>

View file

@ -10,7 +10,6 @@
<!--@end-->
<span <!--@if($act=='dispBlogAdminBlogInfo')-->style="font-weight:bold"<!--@end-->>[<a href="{getUrl('act','dispBlogAdminBlogInfo')}">{$lang->cmd_view_info}</a>]</span>
<span <!--@if($act=='dispBlogAdminCategoryInfo')-->style="font-weight:bold"<!--@end-->>[<a href="{getUrl('act','dispBlogAdminCategoryInfo')}">{$lang->cmd_manage_category}</a>]</span>
<span <!--@if($act=='dispBlogAdminMenuInfo')-->style="font-weight:bold"<!--@end-->>[<a href="{getUrl('act','dispBlogAdminMenuInfo')}">{$lang->cmd_manage_menu}</a>]</span>
<span <!--@if($act=='dispBlogAdminGrantInfo')-->style="font-weight:bold"<!--@end-->>[<a href="{getUrl('act','dispBlogAdminGrantInfo')}">{$lang->cmd_manage_grant}</a>]</span>
<span <!--@if($act=='dispBlogAdminSkinInfo')-->style="font-weight:bold"<!--@end-->>[<a href="{getUrl('act','dispBlogAdminSkinInfo')}">{$lang->cmd_manage_skin}</a>]</span>
</div>

View file

@ -48,6 +48,22 @@
</td>
</tr>
<!--@if($skin_info->menu)-->
<!--@foreach($skin_info->menu as $menu_name => $menu_info)-->
<tr>
<th>{$menu_info->title}<br />({$menu_name})</th>
<td>
<select name="{$menu_name}">
<option value="0">------------------------</option>
<!--@foreach($menu_list as $key => $val)-->
<option value="{$val->menu_srl}" <!--@if($val->menu_srl == $menu_info->menu_srl)-->selected="true"<!--@end-->>{$val->title}</option>
<!--@end-->
</select>
</td>
</tr>
<!--@end-->
<!--@end-->
</table>
</div>