文档更改Home

Yang Sheng 于 2025-02-42,18:57 最后修改

从版本 104.1
Yang Sheng编辑
在2025-02-42,00:08上
修改评论: 该版本没有评论
到版本
Yang Sheng编辑
在2025-02-42,18:32上
修改评论: 该版本没有评论

摘要

细节

页面属性
内容
... ... @@ -10,53 +10,96 @@
10 10  
11 11  == ==
12 12  
13 -
14 -
15 15  (% class="col-xs-12 col-sm-6" %)
16 16  (((
17 17  === 近期更新 ===
18 18  
19 19  {{velocity}}
20 -#set($query = $services.query.hql("select doc.fullName from XWikiDocument doc order by doc.date desc"))
21 -#set($query = $query.setLimit(5))
22 -#set($recentDocs = $query.execute())
23 -
24 -## 打印调试信息
25 -#if($recentDocs.isEmpty())
26 - No recent documents found.
18 +## 检查当前用户是否是访客
19 +#if($xcontext.user == 'XWiki.XWikiGuest')
20 + ## 如果是访客用户,显示提示信息
21 + {{info width=20%}}请登录查看。{{/info}}
27 27  #else
28 - ## 打印调试信息:列出获取到的文档
29 - * Retrieved ${recentDocs.size()} documents:
30 - #foreach($docFullName in $recentDocs)
31 - #set($document = $xwiki.getDocument($docFullName))
32 - #set($docTitle = $document.getDisplayTitle())
23 + ## 定义一级页面列表
24 + #set($topLevelPages = ["Knowledge", "AI", "Automatic"])
33 33  
34 - ## 打印调试信息:当前用户和文档权限
35 - * Checking document: $docTitle
36 - * Current user: $xcontext.user
37 - * Has view access for guest: $xwiki.hasAccessLevel('view', 'XWikiGuest', $document.getFullName())
38 - * Has view access for current user: $xwiki.hasAccessLevel('view', $xcontext.user, $document.getFullName())
26 + ## 遍历每个一级页面
27 + #foreach($topPage in $topLevelPages)
28 + ## 查询每个一级页面下最近更新的5个页面(按日期倒序排列)
29 + #set($hqlQuery = "select doc.fullName from XWikiDocument doc where doc.fullName like :spacePattern and doc.name != 'WebPreferences' order by doc.date desc")
30 + #set($query = $services.query.hql($hqlQuery))
31 + #set($query = $query.bindValue("spacePattern", "${topPage}.%"))
32 + #set($query = $query.setLimit(5)) ## 限制结果为5条
33 + #set($recentDocs = $query.execute())
39 39  
40 - #if($xwiki.hasAccessLevel('view', $xcontext.user, $document.getFullName()))
41 - #if($docTitle == '')
42 - * Untitled Document
43 - #else
44 - * [[${docTitle}>>${document.getExternalURL('view')}]]
35 + ## 如果找到近期更新的页面
36 + #if($recentDocs.size() > 0)
37 + ## 显示一级页面的标题
38 + ==== $topPage ====
39 +
40 + ## 遍历并展示找到的页面
41 + #foreach($docFullName in $recentDocs)
42 + #set($document = $xwiki.getDocument($docFullName))
43 + * [[${document.getDisplayTitle()}>>${document.getExternalURL('view')}]] (最后更新: $datetool.format("yyyy-MM-dd", $document.getDate()))
45 45   #end
46 - #else
47 - * 您的权限不够,请登录查看
48 48   #end
49 49   #end
50 50  #end
51 51  {{/velocity}}
52 -
49 +
50 +
53 53  )))
54 54  
55 -(% class="col-xs-12 col-sm-6" %)
56 -(((
57 -=== 相关链接 ===
53 +{{velocity}}
54 +## 检查当前用户是否是访客
55 +#if($xcontext.user == 'XWiki.XWikiGuest')
56 + ## 如果是访客用户,显示提示信息
57 + {{info}}
58 + 请登录查看。
59 + {{/info}}
60 +#else
61 + ## 定义一级页面列表
62 + #set($topLevelPages = ["Knowledge", "AI", "Automatic"])
58 58  
59 -(% style="font-size:14px" %)[[北区AIO项目看板(IPV6访问)>>http://nas.nicebro.fun:57567||rel="noopener noreferrer" target="_blank"]]
60 -)))
64 + ## 遍历每个一级页面
65 + #foreach($topPage in $topLevelPages)
66 + ## 查询每个一级页面下最近更新的5个页面(按日期倒序排列)
67 + #set($hqlQuery = "select doc.fullName from XWikiDocument doc where doc.fullName like :spacePattern and doc.name != 'WebPreferences' order by doc.date desc")
68 + #set($query = $services.query.hql($hqlQuery))
69 + #set($query = $query.bindValue("spacePattern", "${topPage}.%"))
70 + #set($query = $query.setLimit(5)) ## 限制结果为5条
71 + #set($recentDocs = $query.execute())
61 61  
62 -
73 + ## 如果找到近期更新的页面
74 + #if($recentDocs.size() > 0)
75 + ## 显示一级页面的标题
76 + ==== $topPage ====
77 +
78 + ## 遍历并展示找到的页面
79 + #foreach($docFullName in $recentDocs)
80 + #set($document = $xwiki.getDocument($docFullName))
81 +
82 + ## 尝试获取页面标题
83 + #set($title = $document.getTitle())
84 +
85 + ## 如果没有设置标题,使用页面名称
86 + #if($title == '' || $title == $null)
87 + #set($title = $document.getName())
88 + #end
89 +
90 + ## 输出调试信息
91 + {{info}}
92 + 文档全名: $docFullName
93 + 标题: $title
94 + 最后更新日期: $datetool.format("yyyy-MM-dd HH:mm", $document.getDate())
95 + {{/info}}
96 +
97 + * [[${title}>>${document.getExternalURL('view')}]] (最后更新: $datetool.format("yyyy-MM-dd HH:mm", $document.getDate()))
98 + #end
99 +
100 + ## 添加分隔符
101 + ----
102 + #end
103 + #end
104 +#end
105 +{{/velocity}}