1779 Posts in 582 Topics by 556 members
|
Page:
1
|
Go to End | |
| Author | Topic: | 1312 Views |
-
generate multiple forms or fields on a page

20 February 2009 at 5:42pm
Hi guys,
I want to generate a list of fields or forms in a loop like so:
LocationHolder.ss
<ul id="Locations">
<% control Locations %>
<li>
$Title $courseDropDown
</li>
<% end_control %>
</ul>Here I am looping through Location models and calling Location.courseDropDown() to return a form for each location.
A form needs to be associated with a controller, so I have to define the function courseDropDown() twice. Once in the model and once the the controller, like so:
LocationPage.php
class LocationPage extends Page {
function courseDropDown() {
[...]
return new Form($this, 'courseDropDown', $fields, $actions);
}}
class LocationPage_Controller extends Page_Controller {
function selectCourse($data, $form) {
Director::redirect('confirm');
}
function courseDropDown() {
[...]
return new Form($this, 'courseDropDown', $fields, $actions);
}
}This seems to be a horrendous way to do things. Should I be generating the form in the LocationHolder instead? Something like...
LocationHolder.php
class LocationHolder extends Page {
[...]
}class LocationHolder_Controller extends Page_Controller {
function formForAllChildren() {
$location_holder = DataObject::get_one("LocationHolder");
$locations = DataObject::get("LocationPage", "ParentID = $location_holder->ID", "", "", "");//for each location
//build form
//endreturn new Form();
}}
Any advice or pointers appreciated.
Thanks,
Barry.
| 1312 Views | ||
|
Page:
1
|
Go to Top |

