Forum: Radiant CMS Best Practices for multiple Layouts that have slight variati

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
78cb50691f1df8fd06c2cf26c524e598?d=identicon&s=25 Michael Jones (Guest)
on 2007-01-22 18:45
(Received via mailing list)
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
09477c358c5897d44121a248326e16d7?d=identicon&s=25 Jim Gay (Guest)
on 2007-01-24 16:49
(Received via mailing list)
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
6ff8c661da37df260bbaeed18925ceb7?d=identicon&s=25 Brian Gernhardt (Guest)
on 2007-01-24 23:49
(Received via mailing list)
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
This topic is locked and can not be replied to.