Dear forum,
In a user macro, the following line gets me the home page of a space:
<a href="$space.getHomePage().getUrlPath()" class="home">
My question is, this returns the URL as /display/<space-key>/<home page title>. But in my company's docs, we have internally added an extra /wiki part to the URLs. So our URLs read as wiki/display/<space-key>/<page title>. As a result, the macro doesn't work. How can I resolve this issue please?
Thanks
If that doesn't work you could always use:
<a href="$req.contextPath/display/$space.Key/">
This will cause Confluence to redirect the user to the homepage of the current space.
Hey Steve,
Thanks for the prompt help! I'm not sure what's going on, but it seems the issue is that $space isn't parsing. Your latest code works with the exception of just printing out $space.Key in the template.
-Shawn
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
OK, my guess is that you can't use that where you're using it (e.g., in a layout) because when it is being rendered it is 'outside' of the space, as it were. This is the case with a number of other APIs.
Perhaps you could create a separate question on this site with more details about your problem so that it's separate from this one. Be sure to post a link here and I'll be sure to stop by and take a look (I don't want to hijack ashan's question).
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks Steve. I've created a new post here: https://answers.atlassian.com/questions/213041/linking-to-space-home-from-a-decorator
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thank you @Steve Goldberg2 ,
Based on your input, I managed to build url for labels
<a id="clickable-label" class="aui-label" href="$req.contextPath/label/$space.key/$label.getName()">$label.getName()</a>
(should it be useful for other people here)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello,
I'm trying to use $space.getHomePage().getUrlPath() inside of a velocity template, but it doesn't seem to be parsing. I'm trying to link to the space home page from a template of a custom theme. Any ideas?
<div id="logo"> <h1><a href="$space.getHomePage().getUrlPath()">Home</a></h1> </div><!-- /#logo -->
Thanks!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
$content.getAncestors().get(0) lets you get the most top page in a space, which is usually the homepage. However, that won't render the URL path - I'm sure you can fiddle with it so that it does.
Alternatively, you could use some jQuery to re-write the URL (but it would be better not to have to do that).
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.