midivirus
Goto Top

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/

Content-Key: 151390

Url: https://administrator.de/contentid/151390

Printed on: April 23, 2024 at 13:04 o'clock

Member: Florian.Sauber
Florian.Sauber Sep 20, 2010 at 14:49:31 (UTC)
Goto Top
Ich denke, die Antwort hast Du auf der verlinkten Seite vondanielamedia schon stehen:
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
Member: Midivirus
Midivirus Sep 20, 2010 at 15:00:03 (UTC)
Goto Top
Moin @Florian.Sauber,

da ich mit Typo3 CMS so gut wie noch nix kenne, muss ich das mehr oder weniger auch mal lernen!!!

Für mich ist jetzt noch die Frage, rein vom Verständnis: TSFE wird nur angezeigt, wenn irgendwas (Extension) auf die Lib zugreift?
Denn die Cookies und andere Variablen aus einem INCLUDE werden dort auch geführt!

Meine PHP-Datei hab ich aktuell über
includeLibs.stat = fileadmin/counter.php
im Bereich SETUP vom Template eingebunden.

Morgen werd ich mir dann mal deine Suchbegriffe "Kick-Starter" anschauen.

Grüße
Midivirus
Member: Florian.Sauber
Florian.Sauber Sep 20, 2010 at 17:41:25 (UTC)
Goto Top
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:
page = PAGE
page.includeLibs.eigenerPHPCode = fileadmin/meincode.php
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
<?php
class myclass {
  function getPageId($content,$conf){ 
     $currentPageId = $GLOBALS['TSFE']->id;  
     return $currentPageId
    }
}
?>
Die Ausgabe des Rückgabewerts funktioniert dann wieder über TScript
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
Member: Midivirus
Midivirus Oct 25, 2010 at 06:11:27 (UTC)
Goto Top
aus anderem Beitrag diesen gelöst:

Code wurde wie oben gut erklärt eingepflegt.
Funktioniert natürlich.

Aber laut Wikipedia benötigt man bis zu einem ½ Jahr, bis man dieses CMS sehr gut kennt bzw. beherrscht.
Member: Florian.Sauber
Florian.Sauber Oct 25, 2010 at 11:26:47 (UTC)
Goto Top
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
Member: Midivirus
Midivirus Oct 25, 2010 at 11:36:03 (UTC)
Goto Top
face-smile

Die Sache ist ganz einfach:
Bin fast ausschließlich alleine an der Entwicklung verschiedener Sachen.
Wenn jetzt fremde auf eine Produkivdatenbank sollen, um ein paar SELECTs machen zu können,
muss dies natürlich mit BN und PW laufen.

Die Unternehmesseite wurde seiner Zeit in T3 geschrieben. Ist auch so recht gut gemacht etc.
Da ich aber vor der Zeit hier, viel mit WB zutun hatte (WP im Hintergrund), mich T3 immer abgeschreckt hat und jetzt auch noch eine exotische DB namens PostGres nutzen, stehe ich vor der Frage:

Lerne ich T3, was anscheinend damit funktioniert oder schreibe ich WB in der database-Klasse so um, dass es mit PG funktioniert.

Denn eine Sache gefällt mir bei WB halt ganz besonders:
In der Session werden viele schöne Dinge gespeichert,
durch eine geringfügige Anpassung habe ich auch noch ein paar Felder hinzugefügt und könnte damit dann arbeiten.
Kunde - Lieferant wären diese zusätzlichen Felder.

Da das ganze immer recht simpel und leicht verständlich im Code bleiben soll, hab ich halt daran gedacht.

hier ein Verweis: WebsiteBaker - postgres - mysql - eigene Funktionen - bei Aufruf dann Absturz