diff --git a/classes/display/DisplayHandler.class.php b/classes/display/DisplayHandler.class.php
index 19fd3b602..097ad0121 100644
--- a/classes/display/DisplayHandler.class.php
+++ b/classes/display/DisplayHandler.class.php
@@ -33,7 +33,7 @@
require_once("./classes/template/TemplateHandler.class.php");
$oTemplate = new TemplateHandler();
- $output = $oTemplate->compile($oModule->layout_path, $oModule->layout_file);
+ $output = $oTemplate->compile($oModule->getLayoutPath(), $oModule->getLayoutFile());
} else {
$output = $content;
}
diff --git a/classes/module/ModuleHandler.class.php b/classes/module/ModuleHandler.class.php
index c933f2870..0bc942509 100644
--- a/classes/module/ModuleHandler.class.php
+++ b/classes/module/ModuleHandler.class.php
@@ -162,9 +162,19 @@
}
}
+ // 해당 모듈에 layout_srl이 있는지 확인
+ if($oModule->module_info->layout_srl) {
+ // layout_srl이 있으면 해당 레이아웃 정보를 가져와 layout_path/ layout_file 위치 변경
+ $oLayoutModel = &getModel('layout');
+ $layout_info = $oLayoutModel->getLayout($oModule->module_info->layout_srl);
+ Context::set('layout_info', $layout_info);
+
+ $oModule->setLayoutPath($layout_info->path);
+ $oModule->setLayoutFile('layout');
+ }
+
// 컨텐츠 출력
$oDisplayHandler = new DisplayHandler();
-
$oDisplayHandler->printContent($oModule);
// DB 및 기타 자원의 종결 처리
diff --git a/layouts/sample_layout/layout.html b/layouts/sample_layout/layout.html
new file mode 100644
index 000000000..55096b5d1
--- /dev/null
+++ b/layouts/sample_layout/layout.html
@@ -0,0 +1,10 @@
+
+
+
+
+
+{$content}
+
+
diff --git a/modules/layout/layout.controller.php b/modules/layout/layout.controller.php
index 69dcaa07b..08df777ec 100644
--- a/modules/layout/layout.controller.php
+++ b/modules/layout/layout.controller.php
@@ -242,6 +242,7 @@
$tree[$parent_srl][$menu_srl] = $node;
}
+
// 파일 생성
$xml_buff = "".$this->getXmlTree($tree[0], $tree)."";
@@ -261,9 +262,21 @@
$child_buff = "";
if($menu_srl&&$tree[$menu_srl]) $child_buff = $this->getXmlTree($tree[$menu_srl], $tree);
+
+ $attribute = sprintf(
+ 'node_srl="%s" text="%s" url="%s" open_window="%s" normal_btn="%s" hover_btn="%s" active_btn="%s" group_srls="%s"',
+ $node->menu_srl,
+ str_replace(array('&','"','<','>'),array('&','"','<','>'),$node->name),
+ str_replace(array('&','"','<','>'),array('&','"','<','>'),$node->url),
+ $node->open_window,
+ str_replace(array('&','"','<','>'),array('&','"','<','>'),$node->normal_btn),
+ str_replace(array('&','"','<','>'),array('&','"','<','>'),$node->hover_btn),
+ str_replace(array('&','"','<','>'),array('&','"','<','>'),$node->active_btn),
+ $node->group_srls
+ );
- if($child_buff) $buff .= sprintf('%s', $node->menu_srl, $node->name, $child_buff);
- else $buff .= sprintf('', $node->menu_srl, $node->name);
+ if($child_buff) $buff .= sprintf('%s', $attribute, $child_buff);
+ else $buff .= sprintf('', $attribute);
}
return $buff;
}
diff --git a/modules/layout/tpl.admin/layout_menu_info.html b/modules/layout/tpl.admin/layout_menu_info.html
index fc0e5a280..d28665683 100644
--- a/modules/layout/tpl.admin/layout_menu_info.html
+++ b/modules/layout/tpl.admin/layout_menu_info.html
@@ -12,14 +12,14 @@
| {$lang->menu_name} |
- |
+ |
| {$lang->about_menu_name} |
| {$lang->menu_url} |
- |
+ |
| {$lang->about_menu_url} |
@@ -37,15 +37,15 @@
| {$lang->menu_normal_btn} |
- |
+ |
| {$lang->menu_hover_btn} |
- |
+ |
| {$lang->menu_active_btn} |
- |
+ |
| {$lang->menu_group_srls} |