Изменения документа Поддомены2
<
отредактировано Andrey Shilin
на 2025/04/16 12:23
на 2025/04/16 12:23
отредактировано Andrey Shilin
на 2025/07/10 15:52
на 2025/07/10 15:52
Изменить комментарий:
Imported from XAR
Комментарий
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
-
Объекты (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -5,6 +5,8 @@ 5 5 #if ($request.getCookie('subdomain')) 6 6 #set($cookie = $request.getCookie('subdomain')) 7 7 #set ($currentSubDomain = $util.decodeURI($cookie.value)) 8 +#elseif($request.get('subdomain')) 9 + #set ($currentSubDomain = $request.get('subdomain')) 8 8 #end 9 9 #set ($mainDoc = $xwiki.getDocument('Main.WebHome')) 10 10 #set ($subdomains= [] ) ... ... @@ -16,7 +16,9 @@ 16 16 #set ($selfShow = true) 17 17 #end 18 18 #end 19 -#foreach ($child in $mainDoc.getChildrenReferences()) 21 +#set($q = "select doc.fullName from XWikiDocument as doc, BaseObject as obj where doc.fullName = obj.name and obj.className like 'SUZ.Code.SubDomainClass' and doc.space not like '%Sandbox%'") 22 +#set($query = $services.query.hql($q).execute()) 23 +#foreach ($child in $query) 20 20 #set ($childDoc = $xwiki.getDocument($child).getTranslatedDocument()) 21 21 #set ($xobject = $childDoc.getObject('SUZ.Code.SubDomainClass')) 22 22 #if ($xobject) ##Включаем только страницы с SubDomainClass ... ... @@ -24,12 +24,15 @@ 24 24 #if ($docTitle == '') 25 25 #set ($docTitle = $childDoc.getDocumentReference().getParent().getName()) 26 26 #end 31 + #set($docRef = $childDoc.getDocumentReference().getParent().getName()) 27 27 #if($selfShow) 28 - #set($row = '[[' + $docTitle + '>>' + $doc.getTranslatedDocument() + '||value="' + $escapetool.xml($doc Title) + '"]]')33 + #set($row = '[[' + $docTitle + '>>' + $doc.getTranslatedDocument() + '||value="' + $escapetool.xml($docRef) + '"]]') 29 29 #else 30 30 #set($row = $docTitle) 31 31 #end 32 - #set ($discard = $subdomains.add({"title": $docTitle, "value": $row})) 37 + #set($sortCode = "99999999") 38 + #set($sortCode = $xobject.getValue('sortCode')) 39 + #set ($discard = $subdomains.add({"title": $docTitle, "value": $row, "docRef":$docRef,"sortCode":$sortCode})) 33 33 #end 34 34 #end 35 35 ## Пункт "Все" ... ... @@ -38,10 +38,10 @@ 38 38 #else 39 39 #set($row = "Все") 40 40 #end 41 -#set ($menuSubDomains = [{"title": '', "value": $row}]) 42 -#set ($discard = $menuSubDomains.addAll($collectiontool.sort($subdomains, ["title", "value"]))) 48 +#set ($menuSubDomains = [{"title": '', "docRef":'',"value": $row}]) 49 +#set ($discard = $menuSubDomains.addAll($collectiontool.sort($subdomains, ["sortCode","title", "value"]))) 43 43 #foreach ($row in $menuSubDomains) 44 -#if ($row. title == $currentSubDomain and $selfShow)51 +#if ($row.docRef == $currentSubDomain and $selfShow) 45 45 * **$row.value** 46 46 #else 47 47 * $row.value
- XWiki.UIExtensionClass[0]
-
- Executed Content
-
... ... @@ -1,18 +1,21 @@ 1 -{{velocity}} 1 +{{velocity output="false"}} 2 2 ##Показать меню подразжелов только на определенных страницах 3 -###set ($classesForMenu = ['SUZ.Materials.Code.MaterialsSectionClass', 'SUZ.Methodology.Code.MethodologySectionClass', 'SUZ.Indicators.Code.IndicatorsClass']) ##Массив классов, где нужно показывать меню 4 -###set ($selfShow = false) 5 -###set ($objNames = $doc.getxWikiObjects().keySet()) ##Список наименований классов в текущем объекте 6 -###foreach ($obj in $objNames) 7 -## #if ($classesForMenu.contains($obj)) 8 -## #set ($selfShow = true) 9 -## #end 10 -###end 11 -###if ($selfShow) ##Условие показа меню 3 +#set ($classesForMenu = ['SUZ.Materials.Code.MaterialsSectionClass', 'SUZ.Methodology.Code.MethodologySectionClass', 'SUZ.Indicators.Code.IndicatorsClass']) ##Массив классов, где нужно показывать меню 4 +#set($q = "select doc.fullName from XWikiDocument as doc, BaseObject as obj where doc.fullName = obj.name and obj.className like 'SUZ.Code.SubDomainClass' and doc.space not like '%Sandbox%' and doc.fullName not like '%SUZ%'") 5 +#set($query = $services.query.hql($q).execute()) 6 +#set ($selfShow = false) 7 +#set ($objNames = $doc.getxWikiObjects().keySet()) ##Список наименований классов в текущем объекте 8 +#foreach ($obj in $objNames) 9 + #if ($classesForMenu.contains($obj) && $query.size() > 0) 10 + #set ($selfShow = true) 11 + #end 12 +#end 13 +{{/velocity}}{{velocity}} 14 +#if($selfShow) 12 12 #panelheader($services.localization.render('suz.menu.'+'Поддомены')) 13 13 {{menu type="vertical collapsible open" id="subdomains"}} 14 14 {{include reference="$uix.doc.documentReference" /}} 15 15 {{/menu}} 16 16 #panelfooter() 17 -# ##end20 +#end 18 18 {{/velocity}}