Мы создали макрос пользовательского пользователя, который создает таблицу дочерних страниц, эта таблица также заполняется информацией, такие как последнего обновления, версия, актуализация и т.д.Confluence Проблема с экспортом
При экспорте страницы за столом заполняется, однако при экспорте пространства таблица пуста.
Код ниже
## Macro title: Page Data
## Macro has a body: N
## Body processing: n/a
## Output: HTML
##
## Developed by: Brian Mitchell
## Date created: 06/27/2013
## @noparams
#set ($PageTitle = $content.displayTitle)
#set ($PageVersion = $content.version)
#set ($PageDate = $action.dateFormatter.formatGivenString("dd MMM yyyy", $content.lastModificationDate))
#set ($PageAuthor = $content.lastModifierName)
#set ($pageListArray = [])
#set ($currentPage = $action.page)
#set ($spaceHome = $space.getHomePage())
#macro (process $rp)
#set ($pagelist = $rp.getSortedChildren()) ## returns List<Page>
#foreach($child in $pagelist)
#set($p = $pageListArray.add($child))
#if($child.hasChildren())
#process ($child)
#end
#end
#end
#process ($currentPage)
<h1> Confluence Page Versions </h1>
<table class="confluenceTable">
<tbody>
<tr>
<th class="confluenceTh">Page Title</th>
<th class="confluenceTh">Page Version</th>
<th class="confluenceTh">Date</th>
<th class="confluenceTh">Changed By</th>
</tr>
<tr>
<td>$PageTitle</td>
<td><a href=http://confluence.mango.local/pages/viewpreviousversions.action?pageId=$content.getIdAsString()>$PageVersion</a></td>
<td>$PageDate</td>
<td>$PageAuthor</td>
</tr>
#foreach($child in $pageListArray) ## child is of type Page
<tr>
<td class="confluenceTd">$child.getTitle()</td>
<td class="confluenceTd"><a href=http://confluence.mango.local/pages/viewpreviousversions.action?pageId=$child.getIdAsString()>$child.getVersion()</a> </td>
<td class="confluenceTd">$action.dateFormatter.formatGivenString("dd MMM yyyy", $child.getLastModificationDate())</td>
<td class="confluenceTd">$child.getLastModifierName()</td>
</tr>
#end
</tbody>
</table>
как всегда, когда я изменить код, чтобы поместить все содержимое пространства в массиве, то таблица заполняется на экспорт
поэтому я заменить
#process ($ CurrentPage)
с
#process ($ spaceHome)
поэтому я думаю, что проблема в пространстве экспорта следующая команда не работает
#set ($ CurrentPage = $ action.page)
Кто-нибудь есть какие-либо идеи о том, что я мог бы использовать вместо этого?
Да проблема должна быть, что $ CurrentPage вар не определяются для макроса, пока страница не просматриваются. На сколько страниц вы используете макрос? Это не отличное решение, но вы можете создать уникальный макрос для каждой страницы, на которой он будет использоваться, и определить страницу более конкретно. – MNRSullivan
Это будет использоваться в нескольких местах в слиянии, поэтому я не думаю, что это будет подходящее решение. –
Я не могу придумать, как правильно определить переменную $ currentPage, если загруженная страница не была загружена. Удачи! – MNRSullivan