Drupal - How do I override a RenderElement?
Using hook_element_info_alter()
would be one option, not sure it's the best.
The existing class sets 2 pre render callbacks, which you can override in your own class:
function MYMODULE_element_info_alter(array &$types) {
$types['html_tag']['#pre_render'] = [
[\Drupal\mymodule\HtmlTag::class, 'preRenderConditionalComments'],
[\Drupal\mymodule\HtmlTag::class, 'preRenderHtmlTag'],
];
}
...
namespace Drupal\mymodule;
use Drupal\Core\Render\Element\HtmlTag as CoreHtmlTag;
class HtmlTag extends CoreHtmlTag {
public function preRenderHtmlTag($element) {
// ...
}
public function preRenderConditionalComments($element) {
// ...
}
}