Hallo zusammen,
wie kann ich in einem PHP Skript, dass ich per PHP_SCRIPT_INT einbinde, auf die Funktion pi_getPageLink() zugreifen?
Alternativ würde auch helfen, wenn ich die URL einer Seite, die ich im TS mit typolink erstelle, an das Skript übergeben könnte.
Hat jemand eine Idee?
Danke
Peter
dazu musst Du die Klasse tslib/class.tslib_pibase.php inkludieren, dann kannst Du die Funktionen nutzen.
Hm, das habe ich bereits so probiert, aber wenn ich dann die Funktion direkt aufrufe, bekomme ich eine Fehlermeldung:
Fatal error: Call to undefined function: pi_getpagelink() in ...
Alternativ habe ich es so probiert:
tslib_pibase::pi_getPageLink()
was aber auch zu einer Fehlermeldung führt:
Fatal error: Call to a member function on a non-object in /****/typo3_src-4.0/typo3/sysext/cms/tslib/class.tslib_pibase.php on ...
Kannst du mir da noch weiterhelfen?
Danke,
Peter
Du hast völlig Recht.
Ein Blick in diese Klasse zeigt, das auf Funktionen einer anderen Klasse zugegriffen wird:
tslib/class.tslib_content.php
versuchs mal damit und der Funktion getTypoLink. u.U. musst Du sie als Klasse initialisieren, wenns direkt nicht geht.
Irgendwie komem ich immer noch nicht weiter. Ich habe per require_once beide Dateien includiert, trotzdem kommt die Fehlermeldung noch:
Fatal error: Call to a member function on a non-object in /***/software/typo3_src-4.0/typo3/sysext/cms/tslib/class.tslib_pibase.php on line 278
Wie kann ich die Klasse denn noch initialisieren? Ich habe es so probiert:
$foo = new tslib_pibase();
$url = $foo->pi_getPageLink(2);
oder
$url = tslib_pibase::pi_getPageLink(2);
Danke für die Hilfe,
Peter
ich hatte Dich doch auf die andere Datei verwiesen ...
so gehts:
<?php
include_once(PATH_site.'typo3/sysext/cms/tslib/class.tslib_content.php');
echo '<h3>TEST</h3>';
$cObj=t3lib_div::makeInstance('tslib_cObj');
echo $cObj->getTypoLink('hallo',3);
?>
Wunderbar, jetzt klappts! Vielen Dank für deine Mühen!
Eine kleine Änderung hab ich noch gemacht, da ich nur die URL brauche:
$cObj->getTypoLink_URL(2);
statt
$cObj->getTypoLink('hallo',3);
Gruß
Peter
Hallo zusammen,
ich sitze gerade vor einem ganz ähnlichen Problem. Allerdings habe ich kein Backend Modul sondern einen Cronjob, welcher einen Link erstellen und diesen dann per Mail verschicken soll.
Habe die Klasse class.tslib_content.php eingebunden und versuche nun mit getTypoLink einen Link zu erstellen.
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);
...
Ich erhalte dabei aber folgenden Fehler:
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
Was läuft hier falsch? Gibt es sonst noch irgeneine Möglichkeit einen Link (RealUrl) zu erstellen???
Gruß Jan