diff --git a/modules/menu/menu.admin.model.php b/modules/menu/menu.admin.model.php index 8b4de46e3..e9749d728 100644 --- a/modules/menu/menu.admin.model.php +++ b/modules/menu/menu.admin.model.php @@ -227,12 +227,36 @@ **/ function getModuleListInSitemap() { - // after trigger + $oModuleModel = &getModel('module'); + $columnList = array('module'); $moduleList = array('page'); + + $output = $oModuleModel->getModuleListByInstance($columnList); + if(is_array($output->data)) + { + foreach($output->data AS $key=>$value) + { + array_push($moduleList, $value->module); + } + } + + // after trigger $output = ModuleHandler::triggerCall('menu.getModuleListInSitemap', 'after', $moduleList); if(!$output->toBool()) return $output; - return $moduleList; + $moduleList = array_unique($moduleList); + + $moduleInfoList = array(); + if(is_array($moduleList)) + { + foreach($moduleList AS $key=>$value) + { + $moduleInfo = $oModuleModel->getModuleInfoXml($value); + $moduleInfoList[$value] = $moduleInfo; + } + } + + return $moduleInfoList; } } ?> diff --git a/modules/menu/tpl/js/sitemap.js b/modules/menu/tpl/js/sitemap.js index 984480c73..7e5c0a8f2 100644 --- a/modules/menu/tpl/js/sitemap.js +++ b/modules/menu/tpl/js/sitemap.js @@ -56,7 +56,8 @@ $('form.siteMap') else { inputCType[1].checked = true; - editForm.find('input[name=select_menu_url]').val(menuItem.url); + editForm.find('select[name=module_type]').val(moduleType); + editForm.find('select[name=select_menu_url]').val(menuItem.url); } typeCheck(); getModuleList(); diff --git a/modules/menu/tpl/sitemap.html b/modules/menu/tpl/sitemap.html index af404b351..54daad5f3 100644 --- a/modules/menu/tpl/sitemap.html +++ b/modules/menu/tpl/sitemap.html @@ -98,7 +98,7 @@ xe.lang.confirm_delete = "{$lang->confirm_delete}";
diff --git a/modules/module/module.model.php b/modules/module/module.model.php index 12632a5d8..963f797ae 100644 --- a/modules/module/module.model.php +++ b/modules/module/module.model.php @@ -1514,6 +1514,15 @@ $this->add('results', $list); } + /** + * @brief already instance created module list + **/ + function getModuleListByInstance($columnList = array()) + { + $output = executeQueryArray('module.getModuleListByInstance', $args, $columnList); + return $output; + } + function getLangByLangcode() { $langCode = Context::get('langCode');