文档更改Home
由 Yang Sheng 于 2025-02-42,18:57 最后修改
摘要
-
页面属性 (1 修改, 0 新增, 0 删除)
细节
- 页面属性
-
- 内容
-
... ... @@ -13,63 +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 = "select doc.fullName from XWikiDocument doc where doc.fullName like :spacePattern and doc.fullName not like '%:WebPreferences' and doc.fullName not like '%:WebHome' and doc.fullName not like '%:WebSearch' and doc.fullName not like '%:WebRss' and doc.fullName not like '%:WebStatistics' order by doc.date desc") 32 - #set($query = $services.query.hql($hqlQuery)) 33 - #set($query = $query.bindValue("spacePattern", "${topPage}.%")) 34 - #set($query = $query.setLimit(3)) 35 - #set($recentDocs = $query.execute()) 36 - 37 - #foreach($docFullName in $recentDocs) 38 - #set($document = $xwiki.getDocument($docFullName)) 39 - #if($document) 40 - #set($docTitle = $document.getDisplayTitle()) 41 - ## 仅当用户有查看权限时显示 42 - #if($xwiki.hasAccessLevel('view', $xcontext.user, $document.getFullName())) 43 - ## 检查页面标题是否在忽略列表中 44 - #if(!$ignoreTitles.contains($docTitle)) 45 - #if($docTitle == '') 46 - #set($docTitle = "Untitled Document") 47 - #end 48 - ## 添加到输出 49 - #if($output != "") 50 - #set($output = "${output}, ") 51 - #end 52 - #set($output = "${output}[[${docTitle}>>${document.getExternalURL('view')}]]") 53 - #set($hasUpdates = true) 54 - #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())) 55 55 #end 56 - #end 57 - #end 58 58 59 - ## 仅在有更新时显示标题和内容 60 - #if($hasUpdates) 61 - ## 输出标题 62 - = $topPage = 63 - ## 输出内容 64 - $output 65 - ## 换行以分隔不同的类别 66 - #if($foreach.hasNext()) 67 - \n\n 47 + ## 添加分隔符 48 + ---- 68 68 #end 69 69 #end 70 70 #end 71 71 {{/velocity}} 72 72 73 - 74 74 75 75 )))