[Radiant] Best Practices for multiple Layouts that have slight variations

0 views
Skip to first unread message

Michael Jones

unread,
Jan 22, 2007, 12:44:15 PM1/22/07
to rad...@lists.radiantcms.org
Hello-

I was wondering if there were some tips on the 'best' way to approach
this problem.

I have a site each of the 5 top level pages have the same format but a
different:
* top image
* color scheme
* tag line

I was thinking I would:
* create Snippets for the common elements
* create Layouts for the 5 types and include the common Snippets

This is not ideal because there is still alot of repition in the
layouts, it's not very DRY.

Ideal I would create a 5 data structures that encapsulate the
differences and have 1 Layout that pulls in the correct data to create
the required unique Layout.

Is there someway to accomplish this? Or is there a better approach?

Thanks-
Michael
_______________________________________________
Radiant mailing list
Post: Rad...@lists.radiantcms.org
Search: http://radiantcms.org/mailing-list/search/
Site: http://lists.radiantcms.org/mailman/listinfo/radiant

Jim Gay

unread,
Jan 24, 2007, 10:48:38 AM1/24/07
to rad...@lists.radiantcms.org
Michael,

Try <r:if_url matches="/your_location/">

You could create rules based upon the url to change the content within one layout.

If, however, you wanted to edit the layout based upon an individual page and not based upon the URL, then your solution is probably the most flexible.
I'm no expert though, so possibly someone else will chime in.

-Jim

Brian Gernhardt

unread,
Jan 24, 2007, 5:48:46 PM1/24/07
to rad...@lists.radiantcms.org

On Jan 22, 2007, at 12:44 PM, Michael Jones wrote:

> Ideal I would create a 5 data structures that encapsulate the
> differences and have 1 Layout that pulls in the correct data to create
> the required unique Layout.
>
> Is there someway to accomplish this? Or is there a better approach?

This is actually the way to do it. In your layout user <r:content
part="{top,style,tag}" inherit="true">, and place the required
changes in the correctly named parts on the top pages. The
inherit="true" will make the children pages search up to those top
pages to find the parts.

~~ Brian

Reply all
Reply to author
Forward
0 new messages