From 23e94c5b1b4946231cd7236d590a25aed0c93c2c Mon Sep 17 00:00:00 2001 From: zero Date: Thu, 8 Mar 2007 06:34:03 +0000 Subject: [PATCH] git-svn-id: http://xe-core.googlecode.com/svn/trunk@332 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- classes/module/ModuleHandler.class.php | 16 ++++++++++++++++ layouts/sample_layout/layout.html | 6 ++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/classes/module/ModuleHandler.class.php b/classes/module/ModuleHandler.class.php index 0bc942509..c9bff6346 100644 --- a/classes/module/ModuleHandler.class.php +++ b/classes/module/ModuleHandler.class.php @@ -167,6 +167,22 @@ // layout_srl이 있으면 해당 레이아웃 정보를 가져와 layout_path/ layout_file 위치 변경 $oLayoutModel = &getModel('layout'); $layout_info = $oLayoutModel->getLayout($oModule->module_info->layout_srl); + + // 레이아웃 정보중 extra_vars의 이름과 값을 $layout_info에 입력 + if($layout_info->extra_var_count) { + foreach($layout_info->extra_var as $var_id => $val) { + $layout_info->{$var_id} = $val->value; + } + unset($layout_info->extra_var); + } + + // 레이아웃 정보중 menu를 Context::set + if($layout_info->menu_count) { + foreach($layout_info->menu as $menu_id => $menu) Context::set($menu_id, $menu); + unset($layout_info->menu); + } + + // 레이아웃 정보를 Context::set Context::set('layout_info', $layout_info); $oModule->setLayoutPath($layout_info->path); diff --git a/layouts/sample_layout/layout.html b/layouts/sample_layout/layout.html index da38660b4..ea2b4eb73 100644 --- a/layouts/sample_layout/layout.html +++ b/layouts/sample_layout/layout.html @@ -1,9 +1,11 @@ - +
+ {$layout_info->top_title} +
{$content}