3217 Posts in 853 Topics by 812 members
|
Page:
1
|
Go to End | |
| Author | Topic: | 1442 Views |
-
render dataobjects with Page?

10 August 2010 at 1:41pm
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 mysite.com/rentalcarpage/show/1
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 "CarPage.ss", 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
Lex -
Re: render dataobjects with Page?

10 August 2010 at 2:10pm
I think if you pass an array of values (one being page) to the render with it should include the Page.ss and the CarPage.ss from layout
renderWith(array("CarPage", "Page"));
-
Re: render dataobjects with Page?

10 August 2010 at 2:32pm
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 http://api.silverstripe.org/2.4/sapphire/view/ViewableData.html#methodrenderWithI've looked at it before but didn't make sense to me until you pointed it out.
Again many thanks.
| 1442 Views | ||
|
Page:
1
|
Go to Top |


