doc.silverstripe.org/sapphire/forms/NestedForm.php
2011-04-10 21:53:26 +00:00

30 lines
802 B
PHP

<?php
/**
* This is a form decorator that lets you place a form inside another form.
* The actions will be appropriately rewritten so that the nested form gets called, rather than the parent form.
*
* @package sapphire
* @subpackage forms
*/
class NestedForm extends ViewableData {
protected $form;
/**
* Represent the given form in a tabular style
* @param form The form to decorate.
*/
function __construct(Form $form) {
$this->form = $form;
$this->failover = $form;
parent::__construct();
}
function Actions() {
$actions = $this->form->Actions();
foreach($actions as $action) {
$action->setFullAction('action_' . $action->actionName()
.'?formController=' . str_replace(array('?','.'), array('&','%2e'), $this->form->FormAction()) );
}
return $actions;
}
}