Confluence Docs 3.0 : Adding a Navigation Sidebar This page last changed on Nov 03, 2009 by smaddox. Not applicable to Confluence Hosted for Small Business This page does not apply if you are using Confluence Hosted for Small Business. Read more about comparing the Confluence editions.
| This customisation must be re-applied each time you upgrade Confluence When you upgrade to a new major Confluence version (e.g. from Confluence 2.9.x to Confluence 2.10.x or from Confluence 3.0.x to Confluence 3.1.x), you will need to re-apply this customisation. See instructions below.
Confluence pages can be set to include a left-hand navigation sidebar (table of contents) as shown below: You can see an online example on the left of this page, and in other documentation spaces such as the Crowd documentation.
| Information for people using Confluence 2.8 or earlier The instructions below will work for Confluence 2.9 and later only. For earlier versions, please see the navigation panel on the left of this page or go to the documentation home page, select the documentation space for your version under 'All Versions' and then find the page called 'Adding a Navigation Sidebar' within that space.
Follow the instructions below to add the navigation sidebar to your Confluence space.
| Permissions required To customise a space layout as described below, you must be a Space Administrator in the given space and you must be a System Administrator on the Confluence site.
3. #### Step 1. Create the TreeNavigation Page First, you will create a Confluence page containing the `pagetree` macro. This is just a normal Confluence page. The only slight oddity is that it should reside at the root of your space, instead of under the space's home page. Follow these instructions: Go to the 'Space Pages' view for the current space. To do this: Go to a page in the space, open the 'Browse' menu and select 'Pages'. The 'Space Pages' view will open. You are now at the 'root' level of your space. The 'root' level contains pages that are added above the space's home page, not as children of the home page. At the root level of the space, create a page named 'TreeNavigation'. On the page, insert the following text:
       {pagetree}
5. Now decide if you want to add extra functionality to your page tree. By default, using the code above, the page tree will use the home page of the space as its root. You can choose to: Specify a different root for your page tree. Add a search box at the top of the tree. Allow the viewers to expand and collapse the whole tree. Control other aspects of the display. For more information, read about the Pagetree macro. #### Step 2. Change the Page Layout on your Space Now you will change the page layout on your space, to include the above page on the left of every web page displayed. Go to the 'Space Admin' tab of the Browse Space view. To do this: Go to a page in the space, open the 'Browse' menu and select 'Space Admin'. The 'Space Administration' view will open. 'Space Admin' is only displayed if you are a space administrator. Make sure the Confluence Default theme is selected from the 'Themes' menu. Click 'Layout' under the 'Look and Feel' section. 'Layout' is only displayed if you are a Confluence Site Administrator. Click 'Create Custom' under the 'Page Layout' section. In the layout, locate the 'VIEW' section, and find this code:
       <div class="wiki-content">
       $body
       </div>
6. Replace the above code block with this code:
       #if ($action.isPrintableVersion() == false)
       <style>
       .spacetree * ul{
       padding-left:0px;
       margin-left: 0px;
       }
       .spacetree * li{
       margin-left: 5px;
       padding-left:5px;
       }

       </style>

       <table cellspacing="2" cellpadding="5">
       <tr>
       <td valign="top" align="left" width="22%" bgcolor="#F9F9F9" class="noprint">
       <div class="tabletitle">Table of Contents</div>
       <div class="spacetree">
       #includePage($helper.spaceKey "TreeNavigation")
       </div>
       </td>
       <td valign="top" align="left" width="78%" class="pagecontent">
       <div class="wiki-content">
       $body
       </div>
       </td>
       </tr>
       </table>
       #else
       <div class="wiki-content">
           $body
       </div>
       #end
If you want to, you can change the table title in the above code from 'Table of Contents' to something else. For example, it might say 'Confluence Documentation'. Save the updated layout. ## Re-Applying the Customisation on Upgrade When you upgrade to a new major Confluence version (e.g. from Confluence 2.9.x to Confluence 2.10.x or from Confluence 3.0.x to Confluence 3.1.x), you will need to re-apply this customisation. Reason: The new Confluence version may contain updates to the page layouts. Because you have customised the page layouts, Confluence will not overwrite your customisation. So your space will not get the latest updates until you set the layout to default and then re-apply your changes. Here's how to do it: First make a copy of your customised code, if you have changed it from the code above: Go to 'Space Admin, click 'Layout' and edit the customised page layout (as created above). Copy the section of code that inserts the customised left-hand navigation panel. Close the page layout. Click 'Reset Default' next to 'Page Layout', to set the page layout back to default. This will bring in the new code for the upgraded version of Confluence. Create a custom page layout as described in step 2 above, and reinsert the custom left-hand navigation code. Save the updated layout.
| The 'All Versions' section in the navigation bar A number of people have asked how we created the 'All Versions' section at the top of our navigation side bar. Take a look at Adding an All Versions Section to your Navigation Bar.
##### RELATED TOPICS Customising Layouts Upgrading Custom Layouts Customising the Left Navigation Theme Example Confluence Designs Attachments: LeftHandNav_Example.jpg (image/jpeg) LeftHandNav_Example.jpg (image/jpeg)

Document generated by Confluence on Nov 05, 2009 23:27