From ad6463e9ae376c604b6e11f58b4edfeffe3f72c1 Mon Sep 17 00:00:00 2001 From: ovclas Date: Wed, 21 Sep 2011 09:19:29 +0000 Subject: [PATCH] issue 160 when menu add or modify in sitemap. page type can selectable git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@9255 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/menu/menu.admin.controller.php | 15 +++++++++++++-- modules/menu/menu.admin.model.php | 10 ++-------- modules/menu/menu.admin.view.php | 1 + modules/menu/tpl/js/sitemap.js | 5 ++++- modules/menu/tpl/sitemap.html | 7 ++++++- modules/page/conf/module.xml | 4 ++-- 6 files changed, 28 insertions(+), 14 deletions(-) diff --git a/modules/menu/menu.admin.controller.php b/modules/menu/menu.admin.controller.php index e56bcd870..57a3060c0 100644 --- a/modules/menu/menu.admin.controller.php +++ b/modules/menu/menu.admin.controller.php @@ -149,8 +149,19 @@ $cmArgs->site_srl = (int)$site_module_info->site_srl; $cmArgs->mid = $source_args->create_menu_url; $cmArgs->browser_title = $source_args->menu_name; - //$cmArgs->layout_srl = $this->selected_layout->layout_srl; - $cmArgs->module = $source_args->module_type; + + switch ($source_args->module_type){ + case 'WIDGET' : + case 'ARTICLE' : + case 'OUTSIDE' : + $cmArgs->module = 'page'; + $cmArgs->page_type = $source_args->module_type; + break; + default: + $cmArgs->module = $source_args->module_type; + unset($cmArgs->page_type); + } + $cmArgs->menu_srl = $source_args->menu_srl; $oModuleController = &getController('module'); $output = $oModuleController->insertModule($cmArgs); diff --git a/modules/menu/menu.admin.model.php b/modules/menu/menu.admin.model.php index e9749d728..a89eaac3b 100644 --- a/modules/menu/menu.admin.model.php +++ b/modules/menu/menu.admin.model.php @@ -125,16 +125,10 @@ $moduleInfo = $oModuleModel->getModuleInfoByMid($menuItem->url); if($moduleInfo->mid == $menuItem->url) { $menuItem->moduleType = $moduleInfo->module; - //$menuItem->module_id = $moduleInfo->mid; - //$menuItem->browser_title = $moduleInfo->browser_title; - //unset($menuItem->url); + $menuItem->pageType = $moduleInfo->page_type; } } - else - { - $menuItem->moduleType = 'url'; - /*$menuItem->url = preg_replace('/^(http|https):\/\//i','',$menuItem->url);*/ - } + else $menuItem->moduleType = 'url'; // get groups $oMemberModel = &getModel('member'); diff --git a/modules/menu/menu.admin.view.php b/modules/menu/menu.admin.view.php index 0fad744e7..04cb6b586 100644 --- a/modules/menu/menu.admin.view.php +++ b/modules/menu/menu.admin.view.php @@ -139,6 +139,7 @@ Context::set('menu_list', $menuList); // get installed module list + $oPageController = &getController('page'); //for lang $resultModuleList = $oMenuAdminModel->getModuleListInSitemap(); Context::set('module_list', $resultModuleList); diff --git a/modules/menu/tpl/js/sitemap.js b/modules/menu/tpl/js/sitemap.js index ac426b9d9..06a6097e9 100644 --- a/modules/menu/tpl/js/sitemap.js +++ b/modules/menu/tpl/js/sitemap.js @@ -46,6 +46,7 @@ $('form.siteMap') editForm.find('input[name=menu_name]').val(menuItem.name); var moduleType = menuItem.moduleType; + if(menuItem.pageType) moduleType = menuItem.pageType; var inputCType = editForm.find('input[name=cType]'); if(moduleType == 'url') @@ -171,8 +172,10 @@ $('form.siteMap') function completeGetModuleList(ret_obj) { - var midList = ret_obj.module_list[$('#kModule').val()].list; + var module = $('#kModule').val(); + if(module == 'WIDGET' || module == 'ARTICLE' || module == 'OUTSIDE') module = 'page'; + var midList = ret_obj.module_list[module].list; var htmlBuffer = ""; for(x in midList) { diff --git a/modules/menu/tpl/sitemap.html b/modules/menu/tpl/sitemap.html index 7def82f8c..6d7a2489a 100644 --- a/modules/menu/tpl/sitemap.html +++ b/modules/menu/tpl/sitemap.html @@ -98,7 +98,12 @@ xe.lang.confirm_delete = "{$lang->confirm_delete}";

diff --git a/modules/page/conf/module.xml b/modules/page/conf/module.xml index 742d48538..f009aa82d 100644 --- a/modules/page/conf/module.xml +++ b/modules/page/conf/module.xml @@ -11,9 +11,9 @@ - + - +