From fdb67c285715809aea969e3a3c2375b79abea593 Mon Sep 17 00:00:00 2001 From: Nathaniel Catchpole <catch@35733.no-reply.drupal.org> Date: Tue, 21 Oct 2014 10:29:31 +0100 Subject: [PATCH] Issue #2065485 by tim.plunkett, Xano: Document that PluginFormInterface should use #process to solve nesting issues. --- core/lib/Drupal/Core/Plugin/PluginFormInterface.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/core/lib/Drupal/Core/Plugin/PluginFormInterface.php b/core/lib/Drupal/Core/Plugin/PluginFormInterface.php index 993c841ce377..9fb3ad5f6768 100644 --- a/core/lib/Drupal/Core/Plugin/PluginFormInterface.php +++ b/core/lib/Drupal/Core/Plugin/PluginFormInterface.php @@ -12,6 +12,17 @@ /** * Provides an interface for a plugin that contains a form. * + * Plugin forms are usually contained in other forms. In order to know where the + * plugin form is located in the parent form, #parents and #array_parents must + * be known, but these are not available during the initial build phase. In + * order to have these properties available when building the plugin form's + * elements, let buildConfigurationForm() return a form element that has a + * #process callback and build the rest of the form in the callback. By the time + * the callback is executed, the element's #parents and #array_parents + * properties will have been set by the form API. For more documentation on + * #parents and #array_parents, see + * https://api.drupal.org/api/drupal/developer!topics!forms_api_reference.html/8. + * * @ingroup plugin_api */ interface PluginFormInterface { -- GitLab