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

Problem with Controller not found


Reply

3 Posts   964 Views

Avatar
ImacSS

19 October 2010 at 8:35am Community Member, 35 Posts

Trying to make a Controller to handle custom exporting of data.
Created a file CompetitionExport_Controller.php and placed into code directory.

class CompetitionExport_Controller extends Controller
{
   function index() {
      return $this->renderWith('CompetitionReport_Export');
   }
}

In the config file, I have defined this rule:

Director::addRules(50, array(
   'compexp/$Action/$ID' => 'CompetitionExport_Controller'
));

Yet when I go to the URL http://mysite/compexp/index/621 I receive the following error:
Fatal error: Class 'CompetitionExport_Controller' not found in /sapphire/core/control/Director.php on line 274

Can anyone provide me with what I'm doing wrong?
Everything looks fine from what I can tell based upon this page: http://doc.silverstripe.org/controller

This is with SS 2.3.2.

Avatar
Sean

19 October 2010 at 11:37am (Last edited: 19 October 2010 11:38am), Forum Moderator, 921 Posts

You need to add ?flush=1 or ?flush=all to the end of the URL, the class hasn't loaded yet...

Also the controller should be in a file named "CompetitionExport.php" not "CompetitionExport_Controller.php".

Cheers,
Sean

Avatar
ImacSS

19 October 2010 at 1:07pm Community Member, 35 Posts

Oh man - forgot about the name of the file. That was my problem.

Thanks for the answer Sean.