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

Current position


Reply

3 Posts   1929 Views

Avatar
Nemus

24 November 2006 at 3:51am Community Member, 20 Posts

I base my templates on css, one element id in templates changes depending on sections of the site. I need custom function to return needed value of that id depending on where the user is. I'm aware of InSection() control but I want to do this in page controller to get cleaner code in template.

I've tried with function inside page_controller class but problem is that i can't access InSection() function from there. It seems to me that some part of the puzzle regarding page page_controller relation i don't understand right

Any hint regarding that or help with implementing required function will be appreciated. :)

Avatar
Simon

24 November 2006 at 10:16am (Last edited: 24 November 2006 10:23am), Core Development Team, 27 Posts

Controllers have fall back functions to call the same method (or variable) on the underlying dataobject, so it should call InSection() fine.

e.g In your controller, you could go:
$this->InSection("home");

is the same as calling

$page = $this->data()
return $page->InSection("home");

Perhaps your not in the controller, or your doing something else?

For more information about controllers, have a look at this:
http://doc.silverstripe.com/doku.php?id=designer-guide&s=controllers

Avatar
Nemus

27 November 2006 at 9:16pm Community Member, 20 Posts

Thank you. I knew it must be something simple.