Skip to end of metadata
Go to start of metadata

Hello Everyone!

I recently purchased theme builder for confluence, and I am using it to customize a number of my spaces.  I am having a hard time establishing a different look for the home or dashboard page of the space.

I thought I could solve this by designating differnet layouts for different pages in my space, but it seems that one layout theme is universal for the whole space.

My other thought for a "dirty" work around would be to have 1 space act as the HOME page, and using the children from another space (with a different layout) act as the subpages. That sounds just horrible, but I am desperate.

Any ideas on how to handle this will be GREATLY appreciated!!

Rudy

6 Comments

  1. Unknown User (gfraser)

  2. dead easy!

    Add the following code to the header panel of your layout (I say the header panel because the use-layout macro forces certain internal caches to get flushed, putting it further down in the layout will cause the work expended in rendering the panels above it to be wasted)

    {builder-show:action=dashboard}{use-layout:DASHBOARD}{builder-show}
    {builder-show:title=Home}{use-layout:Home}{builder-show}
    

    Alternatively you could get really scary and use the flags system that we have been developing for 3.3.4 and our new website - you use the {set-flag} macro in conjunction with builder-show/hide to setup a set of flags to determine the current state, you then re-use these flags either for switching layouts or swapping functionality in/out.

    Unfortunatley that code is so new it is not documented anywhere except in the notation guide, Guy should be preparing a tutorial about how we achieved our new layout using the flag code 'real soon now' (well once he has finished the redesign of our site)

    1. Unknown User (rudy@haigbarrett.com)

      Alain,

      I was mistaken, the page that I needed to be was different was the Homepage versus one any children or sub-children of the Homepage.

      So I added the following to the header

      (builder-show:title=Home}(use-layout:SUSLAYOUT}(builder-show}

      and the layout for the homepage does not change. I noticed that you had the (action=) property in the first show-builder macro. What purpose did this serve?

      Thnx

      1. You might do well to have a read of the documentation: builder-show macro

        Pretty much every variation has been covered, if there is something you want to switch on that isnt available then let me know (wink)

  3. Unknown User (rudy@haigbarrett.com)

    Wow, thank you both!

    Guy: This looks great! It looks to be a viable solution!

    Alain: This seems to do the biz as well! I was looking at this in a forum discussion (hmmm... linking to the text is not working for me ATM, so http://www.adaptavist.com/display/Builder/Dynamic+navigation+bar+based+on+content+structure?focusedCommentId=37585628#comment-37585628 ) earlier and think this would do well. I was looking @ flags to make dynamic menus based on content, but the dynamic element can can be layout instead of content.

    Thnx, again!!!

    1. To create a link to a page within the same space in confluence wrap the page name in square brackets, eg:

      [Dynamic navigation bar based on content structure]
      

      If the page is in a different space then prefix the page name with the space key

      [builder:Dynamic navigation bar based on content structure]
      

      This type of identifier is used regularly in both builder and confluence ... wiki markup takes a little getting used to but once you have the hang of it you can do some pretty amazing things!