Zum Inhalt springen

"pi_getPageLink" in Typo3 6.2

Erstellt am 17. März 2015 · 2 Antworten · letzte Antwort am 18. März 2015

Tags: PHP, Update & Upgrade, TYPO3 6, Frage

jp_dev ·

Hallo zusammen,

wir sind gerade dabei eine ältere Extension für das Update auf 6.2 umzuarbeiten.
Innerhalb der Extension gibt es folgende Code-Zeile (bislang in der _pi1):

$filepath = str_replace("http://".$_SERVER["SERVER_NAME"], "", $this->pi_getPageLink($GLOBALS['TSFE']->id, '', array("filedownload" => $filepath)));

Nach Umstellung unsere Test-Seite auf Typo3 6.2 haben wir den Code angepasst und an der entsprechenden Stelle in unserem Model eingesetzt:

$abstractPlugin = new \TYPO3\CMS\Frontend\Plugin\AbstractPlugin();
$filepath = str_replace("http://".$_SERVER["SERVER_NAME"],"",$abstractPlugin::pi_getPageLink($GLOBALS['TSFE']->id,'', array("filedownload" => $filepath)));

Allerdings erhalten wir jetzt den Fehler:
Fatal error: Using $this when not in object context in C:\xampp\htdocs\webseite\typo3\sysext\frontend\Classes\Plugin\AbstractPlugin.php on line308

Wie können wir das „pi_getPageLink“ in Typo3 6.2 korrekt einbinden(Google hat uns bislang nicht weiter geholfen)? Oder wurde es durch einen anderen Befehl ersetzt?

jenses ·

Für das Update auf 6.2 reicht es doch normalerweise,
einige includes/require_once (vor allem von class.tslib_pibase.php) auszukommentieren und eventuell einige veraltete statische Funktionsaufrufe zu ersetzen.
Beim Finden dieser Aufrufe hilft die EXT:smoothmigration.
Damit ist man dann durch. Warum ihr jetzt mit einem AbstractPlugin() herumhantiert, erschließt sich mir nicht wirklich.

jp_dev ·

Das Problem ist, das wir ohne umstellen, die gleiche Meldung erhalten, nur an einer anderen Stelle:
Fatal error: Using $this when not in object context in C:\xampp\htdocs\webseite\typo3conf\ext\xxx\Classes\Domain\Model\product.php on line 394
Daher sind wir davon ausgegangen, dass man den pi_getPageLink im Model nicht verwenden kann bzw. das er ersetzt wurde.
Include und require_once haben wir nicht mit in die Neuauflage übernommen (nur zwischen durch mal, testweise, hat aber auch nichts gebracht.)