Externe Links barrierefrei hervorheben

Smarty Modifier definieren (pub/<THEME>/site/plugins/modifier.<NAME>.php)

/** * Findet alle Externen Links und fügt ein data-Attribut, Aria-Label und ein Icon in den Link ein. * * @param string $content * * @return string */ function smarty_modifier_external_links(string $content): string { return preg_replace_callback('/(<a[^>]*href="http[^"]+"[^>]*)(>[^<]*)(<\/a>)/', function($matches) use ($svg) { return "$matches[1] data-external=\"true\" aria-label=\"" . $GLOBALS['auth']->translate('Externer Link') . "\"$matches[2]$matches[3]"; }, $content); }

Modifier aktivieren

<div data-edit-template="layout"> {capture assign="content"}{include file=$typeTemplate}{/capture} {$content|external_links} </div>