Hi,
I am making some progress using method #1 above. The code works below, except for CheckBoxSetField and I suspect that is because it is a has_many relationship.
public function SearchForm()
{
$fields = new FieldSet(
new TextField("TestTextField"),
new CheckboxField("checkboxfieldtest"),
new DropdownField('Country','Country', array('NZ' => 'New Zealand','US' => 'United States', 'GEM'=> 'Germany')),
new CheckboxSetField("System Type", "System Type", array("Board" => "Board","Enclosed" => "Enclosed"))
);
$actions = new FieldSet(
new FormAction("doResults", "Search")
);
$form = new Form($this, "SearchForm", $fields, $actions);
if (isset($_SESSION['searchFormData']))
{
$form->loadDataFrom($_SESSION['searchFormData']);
$_SESSION['searchFormData'] = null;
}
return $form;
}
public function doResults($data, $form)
{
$searchResults = DataObject::get("ProductPage");
$formData = new DataObject();
$form->SaveInto($formData);
Debug::dump($formData);
$_SESSION['searchFormData'] = $formData;
return array("SearchResults" => $searchResults);
}