文档更改Home
由 Yang Sheng 于 2025-02-42,18:57 最后修改
摘要
-
页面属性 (1 修改, 0 新增, 0 删除)
细节
- 页面属性
-
- 内容
-
... ... @@ -13,65 +13,43 @@ 13 13 (% class="col-xs-12 col-sm-6" %) 14 14 ((( 15 15 === 近期更新 === 16 - 17 17 {{velocity}} 18 -## 定义一级链接列表 19 -#set($topLevelPages = ["Home", "AI For Service", "AIO知识库", "脚本&自动化"]) 17 +## 检查当前用户是否是访客 18 +#if($xcontext.user == 'XWiki.XWikiGuest') 19 + ## 如果是访客用户,显示提示信息 20 + {{info}} 21 + 请登录查看。 22 + {{/info}} 23 +#else 24 + ## 定义一级页面列表 25 + #set($topLevelPages = ["Knowledge", "AI", "Automatic"]) 20 20 21 -## 定义需要忽略的页面标题列表 22 -#set($ignoreTitles = ["页面管理", "脚本&自动化"]) 27 + ## 遍历每个一级页面 28 + #foreach($topPage in $topLevelPages) 29 + ## 查询每个一级页面下最近更新的5个页面(按日期倒序排列) 30 + #set($hqlQuery = "select doc.fullName from XWikiDocument doc where doc.fullName like :spacePattern and doc.name != 'WebPreferences' order by doc.date desc") 31 + #set($query = $services.query.hql($hqlQuery)) 32 + #set($query = $query.bindValue("spacePattern", "${topPage}.%")) 33 + #set($query = $query.setLimit(5)) ## 限制结果为5条 34 + #set($recentDocs = $query.execute()) 23 23 24 -## 输出结果 25 -#foreach($topPage in $topLevelPages) 26 - ## 初始化标志和输出变量 27 - #set($hasUpdates = false) 28 - #set($output = "") 36 + ## 如果找到近期更新的页面 37 + #if($recentDocs.size() > 0) 38 + ## 显示一级页面的标题 39 + ==== $topPage ==== 29 29 30 - ## 查询每个一级链接下所有子页面的最近更新 31 - #set($hqlQuery = " 32 - select doc.fullName 33 - from XWikiDocument doc 34 - where doc.fullName like :spacePattern 35 - and doc.fullName not like '%:WebPreferences' 36 - and doc.fullName not like '%:WebHome' 37 - and doc.fullName not like '%:WebSearch' 38 - and doc.fullName not like '%:WebRss' 39 - and doc.fullName not like '%:WebStatistics' 40 - order by doc.date desc") 41 - #set($query = $services.query.hql($hqlQuery)) 42 - #set($query = $query.bindValue("spacePattern", "${topPage}.%")) 43 - #set($query = $query.setLimit(3)) 44 - #set($recentDocs = $query.execute()) 45 - 46 - #foreach($docFullName in $recentDocs) 47 - #set($document = $xwiki.getDocument($docFullName)) 48 - #if($document) 49 - #set($docTitle = $document.getDisplayTitle()) 50 - ## 仅当用户有查看权限时显示 51 - #if($xwiki.hasAccessLevel('view', $xcontext.user, $document.getFullName())) 52 - ## 检查页面标题是否在忽略列表中 53 - #if(!$ignoreTitles.contains($docTitle)) 54 - #if($docTitle == '') 55 - #set($docTitle = "Untitled Document") 56 - #end 57 - ## 添加到输出 58 - #set($output = "$output[[${docTitle}>>${document.getExternalURL('view')}]]\n") 59 - #set($hasUpdates = true) 60 - #end 41 + ## 遍历并展示找到的页面 42 + #foreach($docFullName in $recentDocs) 43 + #set($document = $xwiki.getDocument($docFullName)) 44 + * [[${document.getDisplayTitle()}>>${document.getExternalURL('view')}]] (最后更新: $datetool.format("yyyy-MM-dd HH:mm", $document.getDate())) 61 61 #end 46 + 47 + ## 添加分隔符 48 + ---- 62 62 #end 63 63 #end 64 - 65 - ## 仅在有更新时显示标题和内容 66 - #if($hasUpdates) 67 - ## 输出标题 68 - = $topPage = 69 - ## 输出内容 70 - $output 71 - #end 72 72 #end 73 73 {{/velocity}} 74 74 75 - 76 76 77 77 )))