Zum Inhalt springen

Cronjob + RealUrls generieren

Erstellt am 4. Juni 2009 · 6 Antworten · letzte Antwort am 4. Juni 2009

Tags: RealURL, Links, Frage

JayR ·

Hallo zusammen,

bitte entschuldigt den Crosspost. Ich habe diese Frage schon an einen anderen bestehenden Post angehängt, wollte nun aber einen eigenen Thread aufmachen, diesmal mit dem richtigen Titel und in der richtigen Kategorie.

Und zwar würde es mich interessieren was die "Best Practice" wäre um in einem Cronjob RealUrl-Links zu generieren, welche dann per Mail verschickt werden.

Der Cronjob läuft bereits, hat Zugriff auf die Datenbank und generiert bereits E-Mails, welche auch verschickt werden. Nun bringt das aber alles nicht, wenn in den Mails nicht auch die entsprechenden Links gesetzt sind.

Nun habe ich bereits folgenden Code versucht:

require_once(PATH_site.'typo3/sysext/cms/tslib/class.tslib_content.php');

...
$this->cObj = t3lib_div::makeInstance('tslib_cObj');
$link = $this->cObj->getTypoLink('TEXT', 29);
...

Das endete aber mit der Fehlermeldung "Fatal error: Call to a member function getPage_noCheck() on a non-object in <b>/typo3_src-4.2.6/typo3/sysext/cms/tslib/class.tslib_content.php</b> on line 5200"

Welche Möglichkeiten gibt es noch RealUrl-Links zu erstellen??? Bzw. was muss ich tun, um die o.g. Codezeilen zum laufen zu bringen?

Viele Grüße
Jan

JayR ·

Danke für den Hinweis! Anhand diesem und ein paar anderer Artikel habe ich den Cronjob erst zum laufen gebracht. 🙂

Dort wird aber leider nicht das Problem mit der Link-Generierung geklärt...

just2b ·

hallo,

ich weiß nicht ob das überhaupt so einfach ist, da musst du schon fast das ganze FE initialisieren....

JayR ·

Hab mir fast schon gedacht, dass da deutlich mehr initialisiert werden muss als nur die tslib_cObj. :-(
Aber viele andere Möglichkeiten einen Link automatisch per Cronjob zu generieren gibt es ja nicht, oder?

Alternativ dazu gibt es doch die Möglichkeit direkt bei der Anlage eines neuen Datensatzes im BE eine userFunc aufzurufen?! Bin mir aber nicht sicher ob das geht, hab das (glaube ich) mal irgendwo überflogen?!

Diese Funktion könnte dann den Link generieren und direkt zu dem Datensatz in der DB ablegen. Dann müsste der Cronjob dies nicht mehr erledigen und nimmt sich einfach den passenden Link aus dem Datensatz?!

Aber selbst damit (userFunc ohne cObj) ist das Problem ja dasselbe. Allerdings scheint die unten beschrieben Variante ja zumindest bei Backend-Modulen / userFuncs zu funktionieren...

just2b ·

schau dir das kapitel über die hooks auf typo3.org an, da ist das genau beschrieben.

ansonsten solltest du dir noch die ext pagepath anschauen

lg

JayR ·

Wir werden es nun jetzt wohl doch anders lösen. 🙁

Es gibt nun einen festen Pfad zu einer versteckten Seite, welche lediglich eine ID annimmt. Daraus wird dann die korrekte (Real)URL erstellt und ein Redirect übernimmt den Rest.
Ist vermutlich einfacher als die Alternativen!!

Trotzdem vielen Dank für Eure Antworten!!!