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.

Data Model Questions

Parent Controller-methods aren`t available in Custom Controller?


Reply

10 Posts   2610 Views

Avatar
mtz

18 August 2010 at 12:37am Community Member, 17 Posts

Thanks for This!
We'll try that out and let you know here about our succsess!

Avatar
joern

25 September 2010 at 11:23pm Community Member, 28 Posts

hi,
I had the same problem with my custom "Record-Page" (extends Page) and no access to my Methods that are defined in Record_Controller.

I saw this Entry: http://www.silverstripe.org/general-questions/show/262016

so I add the Contoller manually to the DataObject.

function getFilterRecords() {
   $recordSet = DataObject::get("Record", "`SiteTree`.`ParentID` = '".$this->ID."'$additionalFilter");
   
   if (!$recordSet || !$recordSet->exists()) return false;
      
   // add controller
   foreach ($recordSet as $record) {
      $record->controller = ModelAsController::controller_for($record);
   }
      
   return $recordSet;
}

In Template:

<% if FilterRecords %>
<% control FilterRecords %>
<h1>$Title</h1> <!-- access via http://doc.silverstripe.org/built-in-page-controls#titles_and_cms_defined_options -->

<p>$controller.MyControllerMethod</p><!-- access via the record_controller -->

<% end_control %>
<% end_if %>

I hope this could help too.
Jörn