[CONFLUENCE] How can I use VTL to find the home page of a space? (content.getAncestors)

Hi all,

I'm trying to find out what the home page of a space is. I'm aware of '$content.getAncestors().get(0)', which can be used to get the full name (i.e., not the display title) of a page. However, when I try to use this in a user macro on the home page itself, it throws up an exception ("Error occurred rendering template content").

Is there another way to find out what it is?

Also, is there a way of getting the display name of the home page too?

I can't seem to find anything in the API documentation relating to '.getAncestors', and doing something trippy like $content.getAncestors().get(0).getDisplayTitle() doesn't work. Can someone point me in the right direction?

2 answers

1 accepted

This widget could not be displayed.

I've found one solution I'm after.

You can use

$content.isRootLevel()

To find out if it is the home page in a space. This provides a simple boolean answer.

This widget could not be displayed.

There's the $content.isHomePage() method. I'm not sure I get exactly what you're doing, but you might be able to iterate over all the pages until you find the home page. Something like this (not tested):

#if ($content.getAncestors())
  #set($ancestors = $content.getAncestors())
  ## iterate over the ancestors
  #foreach ($p in $ancestors)
    ## do your checking here by getting the content object and then calling isHomePage()...
  #end
#end

I'm trying to write a conditional in a macro that will run part of the macro of if it is/isn't the home page.

I added the following to the loop but I still get a template error on the home page:

#if ($p.isHomePage())

<p>$p is the home page</p>

#end

Question: why does $content.getParent().getDisplayTitle work but not $content.getAncestors().get(0).getDisplayTitle? I'd also like to get a list of child page names, e.g., $content.getSortedChildre().getDisplayTitle, but this doesn't work either.

Suggest an answer

Log in or Sign up to answer
Community showcase
Posted Tuesday in Jira

What modern development practices are at the heart of how your team delivers software?

Hey Community mates! Claire here from the Software Product Marketing team. We all know software development changes rapidly, and it's often tough to keep up. But from our research, we've found the h...

86 views 0 1
Join discussion

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you