Version: current

     1 <?php
     2 /**
     3  * This is a form decorator that lets you place a form inside another form.
     4  * The actions will be appropriately rewritten so that the nested form gets called, rather than the parent form.
     5  *
     6  * @package sapphire
     7  * @subpackage forms
     8  */
     9 class NestedForm extends ViewableData {
    10     protected $form;
    11
    12     /**
    13      * Represent the given form in a tabular style
    14      * @param form The form to decorate.
    15      */
    16     function __construct(Form $form) {
    17         $this->form = $form;
    18         $this->failover = $form;
    19         parent::__construct();
    20     }
    21
    22     function Actions() {
    23         $actions = $this->form->Actions();
    24         foreach($actions as $action) {
    25             $action->setFullAction('action_' . $action->actionName()
    26                 .'?formController=' . str_replace(array('?','.'), array('&','%2e'), $this->form->FormAction()) );
    27         }
    28         return $actions;
    29     }
    30 }

[Raise a SilverStripe Framework issue/bug](https://github.com/silverstripe/silverstripe-framework/issues/new)
- [Raise a SilverStripe CMS issue/bug](https://github.com/silverstripe/silverstripe-cms/issues/new)
- Please use the Silverstripe Forums to ask development related questions. -