Hallo,
da ich gerade nicht das Rad nicht neu erfinden möchte, hat jemand zufällig eine Klasse/Funktion griffbereit, welche einfach die Frontend-URL anhand einer ID eines Nachrichtenbeitrages zurück gibt?
Würde mir gerade etwas Arbeit ersparen :-)
Druckbare Version
Hallo,
da ich gerade nicht das Rad nicht neu erfinden möchte, hat jemand zufällig eine Klasse/Funktion griffbereit, welche einfach die Frontend-URL anhand einer ID eines Nachrichtenbeitrages zurück gibt?
Würde mir gerade etwas Arbeit ersparen :-)
Hier abgeschaut https://github.com/contao/core/blob/...tTags.php#L526
PHP-Code:
$url = \NewsModel::findById([ID])->getRelated('jumpTo')->getFrontendUrl();
// Oder mit der ganzen Palette von Eventualitäten
$url = $this->replaceInsertTags('{{news_url::[ID]}}');
Vielen Dank! Funktioniert genauso wie ich das brauche :-)
Das funktioniert nur, wenn in der Nachricht selber die Option "Weiterleitungsziel: Seite" ausgewählt wurde. Ansonsten muss man die jumpTo-Seite des jeweiligen Nachrichten-Archivs wählen (dort abgeschaut):
PHP-Code:
$strUrl = '';
$objNews = \NewsModel::findById([ID]);
if (($objArchive = $objNews->getRelated('pid')) !== null && ($objJumpTo = $objArchive->getRelated('jumpTo')) !== null)
{
$strUrl = $objJumpTo->getFrontendUrl('/' . $objNews->alias);
}
Ab Contao 4.1:PHP-Code:
$objNews = \NewsModel::findById(…);
$strUrl = \News::generateNewsUrl($objNews);