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

Director::addRules() mystery


Reply


2 Posts   756 Views

Avatar
aragonne

Community Member, 26 Posts

23 March 2011 at 9:21pm

Edited: 23/03/2011 10:14pm

Hi there,

I have the following Director rule defined in my module's _config.php:

Director::addRules(101, array(
'Feed//$Action/$LoginName/$Password/$LastModDate/$OutputType/$DeleteMode' => 'FeedEngine'
));

When I access the url

http://lto-us:8888/Feed/Go/labcorp/abc123/0/analytes/0

the module does what it's supposed to, which is great, but then I get the following message at the end:

I can't handle sub-URLs of a FeedEngine object.

Anybody know why this is?

If I remove the double slash (//) from the rule after the 'Feed' url, then I get this message:

The action 'analytes' does not exist in class FeedEngine

'analytes' is my $OutputType param so not sure why SS is saying it's the $Action param.

I'm confused about the use of the double slash. I couldn't find anywhere in the docs or forum what it means, but it seems like the separator between the url and the params.

thanks!
Steve

Avatar
aragonne

Community Member, 26 Posts

23 March 2011 at 10:12pm

After chatting with simon_w (super helpful!) on IRC, we came to the following conclusion:

1. the single / should be used (double slashes have a different meaning and difficult to explain)
2. once I replaced the zero valued (0) params in the url with non-zero values, the module runs as it should. No explanation yet on why zeroes might be causing problems, though.