TYPO3 - GLOBALS - TSFE - nicht vorhanden
Sehr geehrte Gemeinde,
da ich mich zwangsweise mit Typo3 beschäftigen muss, hab ich über GOOGLE auch schon so diverses herausbekommen, wie externes PHP eingebunden wird etc.!
Jetzt lese ich aber überall, dass man gewisse Sachen (Titel, etc.) mittels $GLOBALS["TSFE"] bekommen soll.
Leider hat meine Installation Version 4.1 in GLOBALS dieses Array nicht.
Bevor ich woanders eine Frage stelle, versuch ich es in meinem Stammforum.
Aktuell sind da die _SERVER, _GET, _COOKIE, etc. enthalten.
Fehlen noch Informationen?
Grüße
Midivirus
Links:
http://typo3.danielmedia.de/globals.php
www.seo24.at/globals-in-typo3/
da ich mich zwangsweise mit Typo3 beschäftigen muss, hab ich über GOOGLE auch schon so diverses herausbekommen, wie externes PHP eingebunden wird etc.!
Jetzt lese ich aber überall, dass man gewisse Sachen (Titel, etc.) mittels $GLOBALS["TSFE"] bekommen soll.
Leider hat meine Installation Version 4.1 in GLOBALS dieses Array nicht.
Bevor ich woanders eine Frage stelle, versuch ich es in meinem Stammforum.
Aktuell sind da die _SERVER, _GET, _COOKIE, etc. enthalten.
Fehlen noch Informationen?
Grüße
Midivirus
Links:
http://typo3.danielmedia.de/globals.php
www.seo24.at/globals-in-typo3/
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 151390
Url: https://administrator.de/contentid/151390
Ausgedruckt am: 25.11.2024 um 06:11 Uhr
6 Kommentare
Neuester Kommentar
Ich denke, die Antwort hast Du auf der verlinkten Seite vondanielamedia schon stehen:
_SERVER, _GET, _COOKIE sind ja vordefinierte PHP-Variablen. Die TYPO3 $GLOBALS wie TCA, BE_USER TYPO3_CONF_VARS,... und eben $TSFE sind aber was anderes. $TSFE z.B. ist ein (TYPO3) Objekt von tslib_fe und ist für das Frontend-Rendering von Extensions zuständig. Solange Du auf die Klasse nicht innerhalb einer Extension zugreifst, musst Du Dein PHP-Script in TYPO3 einbinden. Hinweise dazu findest Du in der TSREF.
Am einfachsten Du verwendest am Anfang mal die TYPO3-Extension "Kick-Starter", um Dich mit eigene Extensions vertraut zu machen.
Grüße Florian
Die Globals stehen einem in jeder Extension zur Verfügung
_SERVER, _GET, _COOKIE sind ja vordefinierte PHP-Variablen. Die TYPO3 $GLOBALS wie TCA, BE_USER TYPO3_CONF_VARS,... und eben $TSFE sind aber was anderes. $TSFE z.B. ist ein (TYPO3) Objekt von tslib_fe und ist für das Frontend-Rendering von Extensions zuständig. Solange Du auf die Klasse nicht innerhalb einer Extension zugreifst, musst Du Dein PHP-Script in TYPO3 einbinden. Hinweise dazu findest Du in der TSREF.
Am einfachsten Du verwendest am Anfang mal die TYPO3-Extension "Kick-Starter", um Dich mit eigene Extensions vertraut zu machen.
Grüße Florian
Midivirus, ich hoffe, Du hast meinen vorigen Beitrag nicht falsch verstanden: Er war in keinster Weise ironisch oder hochnäsig gemeint!
Ist eine Weile her, dass ich in TYPO3 aktiv war...und hatte das immer über Extensions gemacht, aber wenn Du in TScript etwas in der Art hast, sollte es funktionieren:
Wichtig ist halt, dass includeLibs eine Eigenschaft des pageobjekts ist. Dann solltest Du innerhalb des PHP-Scripts auch Zugriff auf das Globale Array haben.
z.B. im PHP-Script
Die Ausgabe des Rückgabewerts funktioniert dann wieder über TScript
Aber wie gesagt, des sauberere Weg führt immer über Extensions. Da wird der PHP-Code automatisch eingebunden und die ersten Schritte im Kickstarter hast Du innerhalb einer halben Stunde hinter Dir.
Ein Ausführliches Tutorial zu dem Thema findest Du z.B. hier
Darüber hinaus ist es m.M.n. gerade bei TYPO3 extrem wichtig, sich gute Bücher zuzulegen. Bei mir war es damals so, dass ich mir mit einem Buch unzählige Stunden mit z.T. äuserst verwirrenden Anleitungen im Internet sparen konnte. Gerade wenn es etwas ins Detail geht.
LG Flo
Ist eine Weile her, dass ich in TYPO3 aktiv war...und hatte das immer über Extensions gemacht, aber wenn Du in TScript etwas in der Art hast, sollte es funktionieren:
page = PAGE
page.includeLibs.eigenerPHPCode = fileadmin/meincode.php
z.B. im PHP-Script
<?php
class myclass {
function getPageId($content,$conf){
$currentPageId = $GLOBALS['TSFE']->id;
return $currentPageId
}
}
?>
page.20 = USER
page.20.userFunc = myclass->getPageId
Aber wie gesagt, des sauberere Weg führt immer über Extensions. Da wird der PHP-Code automatisch eingebunden und die ersten Schritte im Kickstarter hast Du innerhalb einer halben Stunde hinter Dir.
Ein Ausführliches Tutorial zu dem Thema findest Du z.B. hier
Darüber hinaus ist es m.M.n. gerade bei TYPO3 extrem wichtig, sich gute Bücher zuzulegen. Bei mir war es damals so, dass ich mir mit einem Buch unzählige Stunden mit z.T. äuserst verwirrenden Anleitungen im Internet sparen konnte. Gerade wenn es etwas ins Detail geht.
LG Flo
Ja Midivirus,
das kann ich nur bestätigen. TYPO3 gehört neben Joomla und Drupal zu den bekanntesten CMS und ist IMHO zwar das mächtigste der drei Systeme, aber auch das am schwierigsten zu beherrschende.
Als Redakteur hat man sich noch schnell in ein bestehendes System eingearbeitet, aber dem Entwickler wir schon einiges an Einarbeitungszeit abverlangt. Aber alles machbar!
Dabei macht es natürlich einen Unteschied, ob man eine einfache Seite oder komplizierte Module (in TYPO3 Extensions genannt) erstellen will.
Doch das Einarbeiten lohnt sich. Die Community und die Anzahl der bereits verfügbaren Extensions ist riesig. Die Dokumentation vorbildlich und die Möglichkeiten schier unbegrenzt.
LG Florian
das kann ich nur bestätigen. TYPO3 gehört neben Joomla und Drupal zu den bekanntesten CMS und ist IMHO zwar das mächtigste der drei Systeme, aber auch das am schwierigsten zu beherrschende.
Als Redakteur hat man sich noch schnell in ein bestehendes System eingearbeitet, aber dem Entwickler wir schon einiges an Einarbeitungszeit abverlangt. Aber alles machbar!
Dabei macht es natürlich einen Unteschied, ob man eine einfache Seite oder komplizierte Module (in TYPO3 Extensions genannt) erstellen will.
Doch das Einarbeiten lohnt sich. Die Community und die Anzahl der bereits verfügbaren Extensions ist riesig. Die Dokumentation vorbildlich und die Möglichkeiten schier unbegrenzt.
LG Florian