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, biapar, Willr, Ingo, swaiba, simon_w

Best method to determine if request is in cms / admin


Reply


3 Posts   799 Views

Avatar
brice

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?

Thanks!

Avatar
MarcusDalgren

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.

Avatar
swaiba

Forum Moderator, 1808 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...
http://www.silverstripe.org/all-other-modules/show/14921?start=8

Barry