Files
drupal11-ddev/vendor/chi-teck/drupal-code-generator/templates/_render-element/render-element.twig
2025-10-08 11:39:17 -04:00

58 lines
1.2 KiB
Twig

<?php
declare(strict_types=1);
namespace Drupal\{{ machine_name }}\Element;
use Drupal\Core\Render\Element\RenderElement;
/**
* Provides a render element to display {{ type|m2h|article|lower }}.
*
* Properties:
* - #foo: Property description here.
*
* Usage Example:
* @code
* $build['{{ type }}'] = [
* '#type' => '{{ type }}',
* '#foo' => 'Some value.',
* ];
* @endcode
*
* @RenderElement("{{ type }}")
*/
final class {{ class }} extends RenderElement {
/**
* {@inheritdoc}
*/
public function getInfo(): array {
return [
// @DCG
// If the element is supposed to return a large piece of markup consider
// defining a theme function for it.
'#pre_render' => [
[self::class, 'preRenderEntityElement'],
],
// @DCG Define element properties here.
'#foo' => 'bar',
];
}
/**
* {{ type|m2h }} element pre render callback.
*
* @param array $element
* An associative array containing the properties of the {{ type }} element.
*
* @return array
* The modified element.
*/
public static function preRenderEntityElement(array $element): array {
$element['#markup'] = $element['#foo'];
return $element;
}
}