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.

General Questions /

General questions about getting started with SilverStripe that don't fit in any of the categories above.

Moderators: martimiz, Sean, Ed, biapar, Willr, Ingo, swaiba

Best method to determine if request is in cms / admin

Go to End

3 Posts   1380 Views


Community Member, 52 Posts

4 October 2011 at 4:53pm

Edited: 04/10/2011 4:53pm

I'd like to decorator to augment searchable fields only if the request is within the cms / admin section of the site. So far I do the detection as follows;

if(substr(Controller::curr()->getRequest()->getURL(), 0, 6) == 'admin/')

There's a few flaws I see in this;

1. It is long.
2. It is hardcoded & I don't account for the admin section changing from 'admin/'. (e.g. it doesn't use a static method to determine the actual base CMS url).

Is there a better & more recommended method?



Community Member, 288 Posts

4 October 2011 at 8:20pm

I've no idea if it's the recommended way of doing it or not but I use

if (is_subclass_of(Controller::curr(), "LeftAndMain"))

This won't break if the URL changes but if the base class changes you're screwed.


Forum Moderator, 1848 Posts

4 October 2011 at 11:37pm

I have decorated the LeftAndMain class to manipulate certain things. I would register if I have passed through there in order to tell if I was in the admin section.

since you might read this - Brice - I' really appreciate a response on your excellent looking sortweight module - I've been trying to use it on a fresh 2.4.5 install with ModelAdmin - if it is designed for that (or I'm missing something basic) please let me know...