Ejemplo n.º 1
0
 /**
  * Finishes a form view for the type hierarchy.
  *
  * This method is called after the children of the view have been built.
  *
  * @param FormView      $view    The form view to configure.
  * @param FormInterface $form    The form corresponding to the view.
  * @param array         $options The options used for the configuration.
  */
 public function finishView(FormView $view, FormInterface $form, array $options)
 {
     if (null !== $this->parent) {
         $this->parent->finishView($view, $form, $options);
     }
     $this->innerType->finishView($view, $form, $options);
     foreach ($this->typeExtensions as $extension) {
         /* @var FormTypeExtensionInterface $extension */
         $extension->finishView($view, $form, $options);
     }
 }
 /**
  * {@inheritdoc}
  */
 public function finishView(FormView $view, FormInterface $form, array $options)
 {
     $this->proxiedType->finishView($view, $form, $options);
     // Remember which view belongs to which form instance, so that we can
     // get the collected data for a view when its form instance is not
     // available (e.g. CSRF token)
     $this->dataCollector->associateFormWithView($form, $view);
     // Since the CSRF token is only present in the FormView tree, we also
     // need to check the FormView tree instead of calling isRoot() on the
     // FormInterface tree
     if (null === $view->parent) {
         $this->dataCollector->collectViewVariables($view);
         // Re-assemble data, in case FormView instances were added, for
         // which no FormInterface instances were present (e.g. CSRF token).
         // Since finishView() is called after finishing the views of all
         // children, we can safely assume that information has been
         // collected about the complete form tree.
         $this->dataCollector->buildFinalFormTree($form, $view);
     }
 }