Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

Archive

Our old forums are still available as a read-only archive.

Moderators: martimiz, Sean, biapar, Willr, Ingo, simon_w

Function Needed in ChildrenOf() Control


Reply

4 Posts   1180 Views

Avatar
Garrett

29 July 2008 at 7:02am (Last edited: 29 July 2008 7:03am), Community Member, 245 Posts

Hi,

I am on a Grandchild level looping through my Grandparents, and I need to look at the URL's of each of them and treat one of them differently as I write them to the page. I do not know where to put the function that returns whether the URL is a certain one. Here is my structure:

Experience (ExperienceHolder, URL = "experience")
>>>News (NewHolder)
>>>>>>NewsPage
>>>Item 2
>>>Item 3
>>>Item 4

I am in the NewsPage template, using <% control ChildrenOf(experience) %>, I am writing out News, Item 2, Item 3, Item 4, etc. Now, IF it is news, then I want to write something different. So in my control loop I have <% if IsCertainItem(URLSegment) %> logic, which I am sure will work. I just don't know WHERE to put this boolean function:

function IsNewsItem($url) {
if($url=="blah-blah-blah") {
return true;
}
return false;
}

Because I am looping through the Children of Experience, of which theer are several, so it is unclear. I tried putting the function in NewsPage, ExperienceHolder, AND NewsHolder, and it is still not being called.

Any help?? I run into this confusion a lot in SilverStripe-- not knowing WHERE to put my code.

Thanks in advance,
Garrett

Avatar
simon_w

29 July 2008 at 7:18am Forum Moderator, 474 Posts

why not just use

<% if URLSegment = url %>

As you'll be using that method of different page types, a good place for it would be the Page class

Avatar
Garrett

29 July 2008 at 7:40am Community Member, 245 Posts

DONE!

Hey, I didn't think you could do string comparisons in the SS templates! I didn't even think to try it as I have been thwarted there before.

What exactly ARE the rules of what you can't do?!

THANKS SO MUCH!

//Garrett

Avatar
Willr

29 July 2008 at 1:12pm Forum Moderator, 5511 Posts

http://doc.silverstripe.com/doku.php?id=templates - has a list of things you can do in templates.