Avoid Stylesheet Children


#1

Hi Everyone,

After being away for a while, I’m now taking a few days to play with
Radiant again in the hope of migrating one of my static sites to
Radiant. In my ‘Hello World’ example that I uploaded as a tutorial, I
created a stylesheet as a child of the main page and then used that for
styling the main page as well as any of its children.

Now, I’ve run into this problem. If I try to iterate through the
children of the main page to create a list of links to the children, it
obviously also creates a link to the stylesheet. I’m sure that there is
a simple way to avoid it, but I think I’m too green just yet. :expressionless:

Thanks for the help.

Cheers,
Mohit.
8/2/2007 | 5:32 PM.


#2

Hi,

I always overcome this problem by adding an empty page part to the
stylesheet. By using the <r:unless_content part=“no_menu”> tag you
can determine which pages should be added to the main menu.

Edwin

Op 2-aug-2007, om 11:32 heeft Mohit S. het volgende geschreven:


#3

Hi Edwin,

Thank you for the suggestion. I’m still new to the tags in Radiant, but
I shall keep a lookout for the unless_content tag.

I’m still a bit confused about how to use your suggestion, but I’ll try
a few things and hopefully stumble on the correct meaning! :slight_smile:

Cheers
Mohit.

Edwin Vlieg wrote:

Hi Everyone,
a simple way to avoid it, but I think I’m too green just yet. :expressionless:

Thanks for the help.

Cheers,
Mohit.
8/2/2007 | 5:32 PM.


#4

Thanks Keymone,

I have my work cut out for the weekend now. I think this will also give
me the chance to try out adding a Rails model to a Radiant site
(something I haven’t yet done).

Do I create the model in the same way as a regular Rails app? In the
root of the Radiant directory, I just go
[#]script\generate model …

Thanks for your help.

Cheers,
Mohit.
8/3/2007 | 2:27 PM.


#5

maybe there is a reason to implement page properties?
using page parts for that can cause huge overhead

it’s better (and more obvious) to type
<r:if_content property=“hide from menu”> </r:if_content>

on rails side you only have to add Property model
and give Page has_many :properties

there will be “properties” tab on page edit and user should be
able to add properties specifying property name and property
value. to improve performance of SQL queries properties can
also have type attribute e.g. int, string, date and properties
inheritance between pages.


#6

Hi Keith

Thanks for the suggestion and the link. I’ve seen the tutorial for the
extension before and I think it has incredible detail on how to go about
doing something like this. So, I shall follow that through and as for
advice again if I run into something.

Cheers
Mohit.


#7

I would do this in an extension. John has a very nice tutorial at
http://www.radiantcms.org/blog/archives/2007/06/23/tutorial-creating-
radiant-extensions/
This should get you going. In short, radiant has extension generators
that work like the normal rails generators.

Keith B.
removed_email_address@domain.invalid
Tel: +49-7731-7983830


#8

Hi Mihot,

You could have a look at the page attributes tag, I think that does
the trick :slight_smile:

http://wiki.radiantcms.org/Thirdparty_Extensions

Edwin

Op 3-aug-2007, om 11:01 heeft Mohit S. het volgende geschreven:

know how to add properties to specific pages :-S (the extensions

generators

[#]script\generate model …

maybe there is a reason to implement page properties?
value. to improve performance of SQL queries properties can
Radiant, but
Edwin Vlieg wrote:

with

styling the main page as well as any of its children.

_______________________________________________

Regards, Keymone


Radiant mailing list
Post: removed_email_address@domain.invalid
Search: http://radiantcms.org/mailing-list/search/
Site: http://lists.radiantcms.org/mailman/listinfo/radiant

»
» Flydesign.nl - Webdevelopment & hosting
» www.flydesign.nl - 06 4147 5537
»


#9

Hi Everyone,

I used Edwin’s suggestion to overcome the problem by adding an empty
page part to the stylesheet and then using the <r:unless_content
part=“no_menu”> tag to determine which pages should be added to the main
menu. That works fine.

I also followed the extensions tutorial to create an extension that
allows you to create properties. That portion works, but I don’t yet
know how to add properties to specific pages :-S (the extensions
tutorial doesn’t work on per-page properties) so I’m not yet sure how to
go about it. But I hope that I’ll find out some more by looking at some
other extensions.

Cheers,
Mohit.
8/3/2007 | 4:59 PM.


#10

Thanks again Edwin & Keith.

Cheers,
Mohit.
8/3/2007 | 5:18 PM.


#11

Mohit S. wrote:

In my ‘Hello World’ example that I uploaded as a tutorial, I
created a stylesheet as a child of the main page and then used that for
styling the main page as well as any of its children.

Now, I’ve run into this problem. If I try to iterate through the
children of the main page to create a list of links to the children, it
obviously also creates a link to the stylesheet.

Override the r:children tags. Using the tags’ option hash, join the
layouts table and add a condition "layouts.content_type != ‘text/css’.

To only get children which are normal pages, the conditions should be
something like “pages.class_name = ‘page’ and (layouts.content_type = ‘’
or layouts.content_type is null)”.


#12

Unfortunately, this is not an extension, but a pretty major hack of a
branch… might be a nice starting point though.

Keith B.
Tel: +49-7731-7983830
removed_email_address@domain.invalid
http://keithbingman.com


#13

Witter Cheng wrote:

Override the r:children tags. Using the tags’ option hash, join the
layouts table and add a condition "layouts.content_type != ‘text/css’.

To only get children which are normal pages, the conditions should be
something like “pages.class_name = ‘page’ and (layouts.content_type = ‘’
or layouts.content_type is null)”.

Wow, that’s really a blast from the past! I switched to using a
‘no_menu’ page part - just add a page part called ‘no_menu’ to any page
that needs to be skipped… and then use that as part of the condition.

Thanks for the response, though!

Cheers,
Mohit.
1/28/2008 | 11:35 PM.