TYPO3-Testaccount
Testen Sie die aktuellste TYPO3-Version kostenlos und unverbindlich für einen Monat!

Jetzt testen!

Schulungen

Real-Url-Link-Generierung aus Backend


Autor Nachricht
Verfasst am: 19. 02. 2010 [14:33]
McGregor
Dabei seit: 05.11.2004
Beiträge: 583
Hallo Forum!

Ich habe einen eigenen kleinen Newsletter geschrieben. Darin kann man Benutzergruppen und News auswählen und diese verschicken.
Ganz einfach gehalten.
Auf der Seite arbeitet real_url.

Jetzt verhält es sich so, dass ich die Links für die News über die tx_realurl_uniqalias generiere.
Dazu durchsuche ich die Tabelle nach dem korrekten Eintrag und ermittle den "value_alias". Diese packe ich mit meiner Domain und dem Pfad zusammen und erstelle so eine URL.

Jetzt zu dem Kuriosum, bzw. meiner Frage.

Klicke ich auf den Link im Newsletter erhalte ich bei manchen Verweisen den schönen Hinweis: keine news_id übergeben.
Klicke ich mich dann auf der Seite zu der entsprechenden News, dann wird diese angezeigt.
UND: danach funktioniert auch der Link aus der Newsletter-Mail.
Wichtig dabei ist, dass beide Links, also der aus der Mail und der auf der Webseite (nach eigenem durchklicken) völlig identisch sind. Da sind keinerlei Abweichungen.

Wieso ist das so? Es scheint mir fast, dass ich die News erst im FE aufrufen muss, bevor die Seite vorliegt. Muss die Seite im Cache sein, damit die Sache funktioniert?
Irgendwie bin ich ratlos.

Hier mal meine Art der URL-Generierung. Die Methoden von tslib_pibase kann ich ja nicht verwenden icon_smile.gif, da es sich um ein BE-Modul handelt (mod1).

PHP
$res_real_url = $GLOBALS['TYPO3_DB']->exec_SELECTquery('value_alias','tx_realurl_uniqalias','value_id = '.$row['n_uid'].' AND tablename = \'tt_news\' AND field_alias = \'title\' AND field_id = \'uid\'');
$row_real = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res_real_url);
// Link per Hand basteln
$domain = $this->conf['domain'];
$date = strftime('%Y/%m/%d',$row['n_datetime']);
$link = $domain.'main/intern/singlevip/d/'.$date.'/'.$row_real['value_alias'].'/';


Vielleicht kann mir jemand helfen.

Grüße
McGregor

And when you kill a man you're a murderer
Kill many and you're a conqueror
Kill them all and you're a God
[Dave Mustaine - Megadeth - Countdown to Extinction]
Profil