Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

My macro to fetch the content of page and child pages displaying wrong after upgrading to 7.13.0

Daniel Hurrell September 20, 2021

After upgrading from version 6.13.13 to 7.13.0, my code displays my html tags as text and when I inspect the page it shows everything in inverted commas.

## @Param Page:title=Page|type=confluence-content|desc=Target page
#if ($paramPage.contains(':'))
#set ( $strArray = [] )
#foreach($str in $paramPage.split(':'))
#set($dummy = $strArray.add($str)) ## Assign returnval to avoid printing 'true'.
#end
#set($spacekey = $strArray.get(0).trim())
#set($pagetitle = $strArray.get(1).trim())

#else
#set($spacekey = $content.getSpaceKey()) ## Current spacekey
#set($pagetitle = $paramPage.trim())
#end

#set( $headingLevelString= "h" + $level.toString())

##FUNCTION
#macro( function $level,$pageTemp)

#set( $headingLevelString= "h" + $level.toString())
#set ($heading1HTML = "<" + $headingLevelString + ">")
#set ($heading2HTML = "<" + $headingLevelString + "/>")

##GETTING PAGE TITLE
<header> $heading1HTML $pageTemp $heading2HTML </header>

##GETTING PAGE CONTENT
#set($globalHelper = $action.getHelper())
#set($renderedhtml = $globalHelper.renderConfluenceMacro("{include:$spacekey:$pageTemp}"))

#set($level1 = $level + 1)
#set($level2 = $level + 2)
#set($level3 = $level + 3)
#set($level4 = $level + 4)
#set($level5 = $level + 5)
#set($level6 = $level + 6)

#set($headingLevelString1= "h" + $level1.toString())
#set($headingLevelString2= "h" + $level2.toString())
#set($headingLevelString3= "h" + $level3.toString())
#set($headingLevelString4= "h" + $level4.toString())
#set($headingLevelString5= "h" + $level5.toString())
#set($headingLevelString6= "h" + $level6.toString())


##INDENT ALL HEADINGS ON CURRENT PAGE
$renderedhtml.replaceAll("h6",$headingLevelString6).replaceAll("h5",$headingLevelString5).replaceAll("h4",$headingLevelString4).replaceAll("h3",$headingLevelString3).replaceAll("h2",$headingLevelString2).replaceAll("h1",$headingLevelString1)

##GETTING CHILDPAGES
#set($childpages = $pageManager.getPage($spacekey,$pageTemp).getSortedChildren())
#if($childpages.size()>0) ##Check if there are childpages

#set($levelPrev = $level)
#set($level = $level +1)

#foreach($page in $childpages)
#function($level,$page.getTitle())
#end

#set($level = $levelPrev)
#set($levelPrev= $level - 1)

#end
#end

##CALLING FUNCTION
#set( $level = 1 )
#function($level,$pagetitle

After upgrade.png

1 answer

0 votes
Alex Medved _ConfiForms_
Community Champion
September 28, 2021

Hi

May be your "renderedhtml" variable should be renamed to "renderedHtml" to tell Confluence not to escape the output!?

Some similar discussion https://community.atlassian.com/t5/Confluence-questions/HTML-is-not-parsed-from-a-User-Macro-in-Confluence-7-11-0/qaq-p/1618139

Alex

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events