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>