Изменения документа HRlink. Новости об обновлениях

Редактировал(а) HRlink 22.08.2025

От версии 18.1
отредактировано HRlink
на 22.08.2025
Изменить комментарий: К данной версии нет комментариев
К версии 25.1
отредактировано HRlink
на 22.08.2025
Изменить комментарий: К данной версии нет комментариев

Сводка

Подробности

Свойства страницы
Содержимое
... ... @@ -1,26 +1,46 @@
1 1  {{velocity}}
2 2  #set($PERPAGE = 10)
3 3  
4 -## Родитель = текущая страница категории/подкатегории
5 -#set($PARENT = $doc.fullName)
4 +## --- Текущая страница категории ---
5 +#set($parentRef = $doc.documentReference) ## надёжно даже с "\." в именах
6 +#set($full = $doc.fullName) ## напр.: Blog.HRlink.-Novosti-ob-obnovleniiakh-.WebHome
6 6  
7 -## Пагинация
8 +## Префикс для фоллбэка: убираем .WebHome и добавляем точку
9 +#set($prefix = $full)
10 +#if($full.endsWith('.WebHome'))
11 + #set($prefix = $full.substring(0, $full.length() - 8))
12 +#end
13 +#set($prefix = $prefix + '.')
14 +
15 +## --- Пагинация ---
8 8  #set($p = $request.get('p')) #if(!$p) #set($p = 1) #end
9 9  #set($p = $numbertool.toInteger($p)) #if($p < 1) #set($p = 1) #end
10 10  #set($offset = ($p - 1) * $PERPAGE)
11 11  
12 -## Сколько дочерних страниц у этой категории
20 +## --- A) дети по parent = текущая страница (DocumentReference) ---
13 13  #set($total = $services.query.xwql(
14 - "select count(doc.fullName) from Document doc where doc.parent = :parent"
15 -).bindValue("parent", $PARENT).execute().get(0))
22 + "select count(doc.fullName) from Document doc where doc.parent = :p"
23 +).bindValue('p', $parentRef).execute().get(0))
16 16  
17 -## Берём текущую порцию детей, новые сверху
18 -#set($rows = $services.query.xwql(
19 - "select doc.fullName from Document doc " +
20 - "where doc.parent = :parent order by doc.date desc"
21 -).bindValue("parent", $PARENT).setLimit($PERPAGE).setOffset($offset).execute())
25 +#set($rows = [])
26 +#if($total > 0)
27 + #set($rows = $services.query.xwql(
28 + "select doc.fullName from Document doc where doc.parent = :p order by doc.date desc"
29 + ).bindValue('p', $parentRef).setLimit($PERPAGE).setOffset($offset).execute())
30 +#end
22 22  
32 +## --- B) если вдруг пусто — берём по префиксу полного имени (включая подкатегории) ---
23 23  #if($total == 0)
34 + #set($total = $services.query.xwql(
35 + "select count(doc.fullName) from Document doc where doc.fullName like :pref"
36 + ).bindValue('pref', $prefix + '%').execute().get(0))
37 + #set($rows = $services.query.xwql(
38 + "select doc.fullName from Document doc where doc.fullName like :pref order by doc.date desc"
39 + ).bindValue('pref', $prefix + '%').setLimit($PERPAGE).setOffset($offset).execute())
40 +#end
41 +
42 +## --- Рендер ленты и пагинация ---
43 +#if($total == 0)
24 24   <p>Пока нет публикаций в этой ветке.</p>
25 25  #else
26 26   #foreach($fn in $rows)