From 6e848cb30f85106dec3a91b1ecf3f92072969e91 Mon Sep 17 00:00:00 2001 From: zero Date: Thu, 8 Mar 2007 02:56:19 +0000 Subject: [PATCH] git-svn-id: http://xe-core.googlecode.com/svn/trunk@321 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- layouts/sample_layout/conf/info.xml | 4 ++-- modules/admin/tpl/layout.html | 2 +- modules/layout/layout.model.php | 24 +++++++++++++++++++++++- 3 files changed, 26 insertions(+), 4 deletions(-) diff --git a/layouts/sample_layout/conf/info.xml b/layouts/sample_layout/conf/info.xml index 89ba67d20..c23a74615 100644 --- a/layouts/sample_layout/conf/info.xml +++ b/layouts/sample_layout/conf/info.xml @@ -26,12 +26,12 @@ 컬러셋 colorset select - + red blue green rightred - + diff --git a/modules/admin/tpl/layout.html b/modules/admin/tpl/layout.html index 0eae589cd..464ebec26 100644 --- a/modules/admin/tpl/layout.html +++ b/modules/admin/tpl/layout.html @@ -4,7 +4,7 @@
diff --git a/modules/layout/layout.model.php b/modules/layout/layout.model.php index 3cb37d4f4..44934eaa5 100644 --- a/modules/layout/layout.model.php +++ b/modules/layout/layout.model.php @@ -121,13 +121,35 @@ $buff .= sprintf('$layout_info->author->description = "%s";', $xml_obj->author->description->body); // 추가 변수 (템플릿에서 사용할 제작자 정의 변수) + if(!is_array($xml_obj->extra_vars->var)) $extra_vars[] = $xml_obj->extra_vars->var; + else $extra_vars = $xml_obj->extra_vars->var; + $extra_var_count = count($extra_vars); + $buff .= sprintf('$layout_info->extra_var_count = "%s";', $extra_var_count); + for($i=0;$i<$extra_var_count;$i++) { + unset($var); + $var = $extra_vars[$i]; + + $buff .= sprintf('$layout_info->extra_var->{%s}->name = "%s";', $var->attrs->id, $var->name->body); + $buff .= sprintf('$layout_info->extra_var->{%s}->type = "%s";', $var->attrs->id, $var->type->body); + $buff .= sprintf('$layout_info->extra_var->{%s}->type = "%s";', $var->attrs->id, $var->type->body); + + $options = $var->options->value; + if(!$options) continue; + if(!is_array($options)) $options = array($options); + $options_count = count($options); + for($i=0;$i<$options_count;$i++) { + $buff .= sprintf('$layout_info->extra_var->{%s}->options[] = "%s";', $var->attrs->id, $options[$i]->body); + + } + } + // 메뉴 if(!is_array($xml_obj->menus->menu)) $menus[] = $xml_obj->menus->menu; else $menus = $xml_obj->menus->menu; $menu_count = count($menus); - $buff .= sprintf('$layout_info->menu_count = "%s";', count($menus)); + $buff .= sprintf('$layout_info->menu_count = "%s";', $menu_count); for($i=0;$i<$menu_count;$i++) { $id = $menus[$i]->attrs->id;