mirror of
https://github.com/silverstripe/doc.silverstripe.org
synced 2024-10-22 17:05:50 +02:00
30 lines
802 B
PHP
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;
|
||
|
}
|
||
|
}
|