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.

Template Questions

render dataobjects with Page?


3 Posts   1900 Views


10 August 2010 at 1:41pm Community Member, 254 Posts

hey all,
I'm still coming to terms with the contoller class. Don't understand yet how to customise URL variables. But have managed to work with default Action and ID which is about all I need (for now).

I have a page type "rental cars" which has many "car objects" attached. Rather than using child pages. To view a car object I've added this function to the rental cars page.

   function Show() {
      $URLParams = Director::urlParams();
      $CarPage = DataObject::get_by_id('RentalCarObject', $URLParams['OtherID']);
      return $this->customise(array("Car" => $CarPage))->renderWith("CarPage");

That's working for me when I enter

The question is how to get this rendering as a Layout, so it's wrapped by the default Page?

I was about to copy paste all my styles and wrapper divs into "", but this doesn't seem very intelligent. I've been meaning to suss this out for a while to handle large a number of DataOjects outside of the page tree.

Again help is much appreciated :)


10 August 2010 at 2:10pm Forum Moderator, 5511 Posts

I think if you pass an array of values (one being page) to the render with it should include the and the from layout

renderWith(array("CarPage", "Page"));


10 August 2010 at 2:32pm Community Member, 254 Posts

HOT DANG! you're right.
Thank heaps for your help willr.
I checked it out on the API and you can pass a String or an Array

I've looked at it before but didn't make sense to me until you pointed it out.

Again many thanks.