Hallo, ich möchte ein inserttag entwickeln, welches ein durch ID/Alias gegebenes Event über ein im inserttag definiertes Template ausgibt.
Das Inserttag soll in etwa so aussehen:
{{eventslide::myevent::myeventtemplate}}
so weit bin ich bis jetzt gekommen. Ich bekomme das Event, kann aber nicht herausfinden, wie ich das template auf dieses Event anwenden kann. Ich suche eine Funktion wie
PHP-Code:
applytemplate(object $objEvent, string $eventname)
das müsste ich anstelle print_r($objEvent, true) einsetzen können.
Bis jetzt stelle ich fest, das $objEvent zumindest schon mal das richtig Event darstellt.
PHP-Code:
class EventInfoTagListener
{
public const TAG = 'eventslide';
public function onReplaceInsertTags(string $tag)
{
$chunks = explode('::', $tag);
if (self::TAG !== $chunks[0]) {
return false;
}
$objEvent = \CalendarEventsModel::findOneByAlias($chunks[1]);
return (print_r($objEvent, true));
}
}
$GLOBALS['TL_HOOKS']['replaceInsertTags'][] = array('App\Eventlistener\EventInfoTagListener', 'onReplaceInsertTags');
Dieses PHP-Fragment binde ich mit {{file::myeventinfotaglistener.php}} in einem HTML- Inhaltselement ein.
Bin für jedenTipp dankbar.
b.
Lesezeichen