# Question on Hierarchy choice

**URL:** <https://www.ruby-forum.com/t/question-on-hierarchy-choice/97858>\
**Category:** Radiant CMS\
**Created:** [July 10, 2006, 11:11pm UTC](https://www.ruby-forum.com/t/question-on-hierarchy-choice/97858 "2006-07-10T23:11:03Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![ambitiouslemon](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/ea666f/32.png) [@ambitiouslemon](https://www.ruby-forum.com/u/ambitiouslemon)\
**Post date:** [July 10, 2006, 11:11pm UTC](https://www.ruby-forum.com/t/question-on-hierarchy-choice/97858/1 "2006-07-10T23:11:03Z")

</div>

I recently installed Radiant and started playing around with it a bit.  
Since I only know html/css I’ve been looking at various CMS systems (the  
only other one to really catch my eye was Modx) to figure out if these  
could give me easy access to more dynamic features.

I really enjoy how simple the admin interface of Radiant is relative to  
all the other CMS systems - deceptively simple even, when considering  
the underlying flexibility.

I employ a rather simple (in my mind) 2 level tab-based navigation bar  
on many of my websites (example: [www.ambitiouslemon.com](http://www.ambitiouslemon.com) note: not IE  
compatible). I was hoping Radiant could code this in a snippet that I  
could call from my layout. But one of the odd things I have noticed  
about Radiant is that it has all pages as children of the home page, and  
this screws up the built in \<r: navigation\> tag’s ability to create the  
tab bar as I had planned. I have some other problems, but I suspect  
thats just because I don’t understand the tagging language well enough -  
but the big issue is that I can’t set up my actual page hierarchy in a  
way that would be properly reflected by this navigation system.

Is there a conceptual reason for not allowing pages as siblings to home  
rather than children? Am I missing something here?

---

<div class="post-metadata">

**Author:** ![ambitiouslemon](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/ea666f/32.png) [@ambitiouslemon](https://www.ruby-forum.com/u/ambitiouslemon)\
**Post date:** [July 10, 2006, 11:44pm UTC](https://www.ruby-forum.com/t/question-on-hierarchy-choice/97858/2 "2006-07-10T23:44:10Z")

</div>

> I employ a rather simple (in my mind) 2 level tab-based navigation bar  
> on many of my websites (example: [www.ambitiouslemon.com](http://www.ambitiouslemon.com) note: not IE  
> compatible). I was hoping Radiant could code this in a snippet that I  
> could call from my layout.

One solution to this problem is to create a page which children are the  
pages which correspond to the tabs. For example, you can create a page  
called “tabs” as a child of the main page and then create as children to  
this page the pages About, Comunity, etc. From your layout or the header  
snippet you can take all children of “tabs” using this code:

\<r:find url=“tabs”\>

- 

Hope it helps.

---

<div class="post-metadata">

**Author:** ![ambitiouslemon](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/ea666f/32.png) [@ambitiouslemon](https://www.ruby-forum.com/u/ambitiouslemon)\
**Post date:** [July 11, 2006, 1:18am UTC](https://www.ruby-forum.com/t/question-on-hierarchy-choice/97858/3 "2006-07-11T01:18:52Z")

</div>

Thank you John and Eli,

Those tips much more elegantly help me get around this issue, but it  
still leaves me wondering why the home page can’t have siblings. Do we  
know why this design decision was made?

---

<div class="post-metadata">

**Author:** ![ambitiouslemon](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/ea666f/32.png) [@ambitiouslemon](https://www.ruby-forum.com/u/ambitiouslemon)\
**Post date:** [July 10, 2006, 11:47pm UTC](https://www.ruby-forum.com/t/question-on-hierarchy-choice/97858/4 "2006-07-10T23:47:26Z")

</div>

Joseph B. wrote:

> on many of my websites (example: [www.ambitiouslemon.com](http://www.ambitiouslemon.com) note: not IE  
> rather than children? Am I missing something here?  
> Here’s an example of how I’m using the \<r:navigation /\> tag on  
> [RadiantCMS.org](http://RadiantCMS.org):

\<r:navigation urls=“Home: /”\>  
\<r:here\> **\<r:title /\>** \</r:here\>  
\<r:selected\>\<r:title /\>\</r:selected\>  
\<r:normal\>\<r:title /\>\</r:normal\>  
\</r:navigation\>  
 |   
\<r:navigation urls=“Demo: /demo/; Download: /download/”\>  
\<r:here\> **\<r:title /\>** \</r:here\>  
\<r:selected\>**\<r:title  
/\>**\</r:selected\>  
\<r:normal\>\<r:title /\>\</r:normal\>  
\<r:between\> | \</r:between\>  
\</r:navigation\>  
 |   
[Development](http://dev.radiantcms.org/)  
 |   
\<r:navigation urls=“Mailing List: /mailing-list/; Weblog: /blog/”\>  
\<r:here\> **\<r:title /\>** \</r:here\>  
\<r:selected\>**\<r:title  
/\>**\</r:selected\>  
\<r:normal\>\<r:title /\>\</r:normal\>  
\<r:between\> | \</r:between\>  
\</r:navigation\>

As you can see you may sometimes need to use multiple \<r:navigation /\>  
tags in order to get the effect you want. It’s extremely verbose, but it  
works.

You could use this with:

\<r:if\_url matches=“^/start\_of\_url”\>…\</r:if\_url\>

and

\<r:unless\_url matches=“^/start\_of\_url”\>…\</r:unless\_url\>

In order to get the second level of navigation to work.

Ryan Heneis wrote an article on Art of Mission which outlines another  
technique using HTML level IDs:

[http://artofmission.com/articles/2006/06/06/radiant-cms](http://artofmission.com/articles/2006/06/06/radiant-cms)

–  
John L.  
[http://wiseheartdesign.com](http://wiseheartdesign.com)

---

<div class="post-metadata">

**Author:** ![ambitiouslemon](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/ea666f/32.png) [@ambitiouslemon](https://www.ruby-forum.com/u/ambitiouslemon)\
**Post date:** [July 11, 2006, 7:23am UTC](https://www.ruby-forum.com/t/question-on-hierarchy-choice/97858/5 "2006-07-11T07:23:32Z")

</div>

I agree with John,  
Thinking about website flow and the user’s point of view, everybody  
enters from your index page; that’s why many web designers also call it  
the welcome page. It is the doorway to your website, structually  
nothing comes before it nor beside it. While your internal structure  
may have it in the same directory as the index page, the flow of the  
entire website logically flows from that one page, therefore all pages  
in the site are its logical children. The way Radiant manages websites  
may be a little annoying, but it forces the internal structure to  
conform with the logical structure that the user sees.

---

<div class="post-metadata">

**Author:** ![ambitiouslemon](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/ea666f/32.png) [@ambitiouslemon](https://www.ruby-forum.com/u/ambitiouslemon)\
**Post date:** [July 11, 2006, 3:28am UTC](https://www.ruby-forum.com/t/question-on-hierarchy-choice/97858/6 "2006-07-11T03:28:44Z")

</div>

Joseph B. wrote:

> Those tips much more elegantly help me get around this issue, but it  
> still leaves me wondering why the home page can’t have siblings. Do we  
> know why this design decision was made?

It removes the special cases. What do you find strange about it?

–  
John L.  
[http://wiseheartdesign.com](http://wiseheartdesign.com)
