Macro to read previous and next page in page
Asked by MarkC:

I found this macro (<https://confluence.atlassian.com/display/DISC/Next+and+Previous+Links>) created by Matthew Horn, but it doesn't quite do everything I was hoping.

Has anyone created a macro (or modified the one above) to pull in the previous and next pages' titles?

What I want to do is to include this at the bottom of a page with the previous page's title on the left and the next page's title on the right.

I've tried fixing up the macro myself, but I've had limited success.


Answers:
author: MarkC
body: This doesn't exactly solve my problem, but I'll post a link to the comments made by Chris Kent at the bottom of this page: [https://confluence.atlassian.com/display/DISC/Next+and+Previous+Links](https://confluence.atlassian.com/display/DISC/Next+and+Previous+Links.).

I solved the issue by creating doing his suggestion, but instead of having a blank next or previous link, I redirected it to the space home page:

```
#if ($prev != 0)		&lt;div class="prev_page"&gt;&lt;strong&gt;Previous:&lt;/strong&gt; &lt;a href="$prev.getUrlPath()"&gt;$prev.getDisplayTitle()&lt;/a&gt;&lt;/div&gt;	#else		&lt;div class="prev_page"&gt;&lt;strong&gt;Return to &lt;/strong&gt; &lt;a href="$space.getUrlPath()"&gt;$space.getDisplayTitle()&lt;/a&gt; &lt;strong&gt;Home&lt;/strong&gt;&lt;/div&gt;	#end	#if ($next != 0)		&lt;div class="next_page"&gt;&lt;strong&gt;Next:&lt;/strong&gt; &lt;a href="$next.getUrlPath()"&gt;$next.getDisplayTitle()&lt;/a&gt;&lt;/div&gt;	#else		&lt;div class="next_page"&gt;&lt;strong&gt;Return to &lt;/strong&gt; &lt;a href="$space.getUrlPath()"&gt;$space.getDisplayTitle()&lt;/a&gt; &lt;strong&gt;Home&lt;/strong&gt;&lt;/div&gt;	#end
```

comments: author: Matthew J. Horn
body: This is great, thanks for posting your solution!


author: David Hergert _PAYX_
body: How does anyone comment on those pages?


author: Thomas Kreft
body: I can't seem to get this solution to work in Confluence 5.9.1. I added this macro to the top of a couple of "adjacent" pages (according to the page hierarchy view), like this:\* Parent Page \* Child Page 1 ("First Page" set) \* Child Page 2 \* Child Page 3 ("Last Page" set)All that gets rendered is the text "Return to \<Parent Page\> Home", twice. Did I make an error implementing/using this user macro or did Confluence 5.9.1 break something?


author: MarkC
body: **UPDATE Again...**

I simply created some divs to separate the content, and that solved that problem.

Does anyone know how to setup the above macro so that it only looks at pages under a specified page? For example, say you have the following page setup:

* ROOT
  * A
  * B
    * 1
    * 2
    * 3
  * C

I want the macro to look at page B as the ROOT. Then when viewing page 1, the macro would show the previous page as B and the next page as 2. Then on page 3, it would show the previous page as 2 and the next page as B.

comments: author: Nilesh Raut
body: I want the same setup for the macro

ROOT

* A
* B
  * 1
  * 2
  * 3
* C

If any have, help me with this.

Thanks in advance.


author: MarkC
body: **UPDATE**

I have managed to change the links from images to the page titles, but I can't seem to figure out why they always display as right-aligned on the page.