public function ElementInfoManager::getInfo in Drupal 9
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Render/ElementInfoManager.php \Drupal\Core\Render\ElementInfoManager::getInfo()
Retrieves the default properties for the defined element type.
Each of the element types defined by this hook is assumed to have a matching theme hook, which should be registered with hook_theme() as normal.
For more information about custom element types see the explanation at https://www.drupal.org/node/169815.
Parameters
string $type: The machine name of an element type plugin.
Return value
array An associative array describing the element types being defined. The array contains a sub-array for each element type, with the machine-readable type name as the key. Each sub-array has a number of possible attributes:
- #input: boolean indicating whether or not this element carries a value (even if it's hidden).
- #process: array of callback functions taking $element, $form_state, and $complete_form.
- #after_build: array of callables taking $element and $form_state.
- #validate: array of callback functions taking $form and $form_state.
- #element_validate: array of callback functions taking $element and $form_state.
- #pre_render: array of callables taking $element.
- #post_render: array of callables taking $children and $element.
- #submit: array of callback functions taking $form and $form_state.
- #title_display: optional string indicating if and how #title should be displayed (see form-element.html.twig).
Overrides ElementInfoManagerInterface::getInfo
See also
\Drupal\Core\Render\Element\ElementInterface
\Drupal\Core\Render\Element\ElementInterface::getInfo()
1 call to ElementInfoManager::getInfo()
- ElementInfoManager::getInfoProperty in core/
lib/ Drupal/ Core/ Render/ ElementInfoManager.php - Retrieves a single property for the defined element type.
File
- core/
lib/ Drupal/ Core/ Render/ ElementInfoManager.php, line 74
Class
- ElementInfoManager
- Provides a plugin manager for element plugins.
Namespace
Drupal\Core\RenderCode
public function getInfo($type) {
$theme_name = $this->themeManager
->getActiveTheme()
->getName();
if (!isset($this->elementInfo[$theme_name])) {
$this->elementInfo[$theme_name] = $this
->buildInfo($theme_name);
}
$info = isset($this->elementInfo[$theme_name][$type]) ? $this->elementInfo[$theme_name][$type] : [];
$info['#defaults_loaded'] = TRUE;
return $info;
}