Tsfe 

\nn\t3::Tsfe() 

Alles rund um das Typo3 Frontend. Methoden zum Initialisieren des FE aus dem Backend-Context, Zugriff auf das cObj und cObjData etc.

Overview of Methods 

\nn\t3::Tsfe()->bootstrap($conf = []); 

Bootstrap Typo3

\nn\t3::Tsfe()->bootstrap();
\nn\t3::Tsfe()->bootstrap( ['vendorName'=>'Nng', 'extensionName'=>'Nnhelpers', 'pluginName'=>'Foo'] );
Copied!

| ➜ Go to source code of Tsfe::bootstrap()

\nn\t3::Tsfe()->cObj($request = NULL); 

$GLOBALS['TSFE']->cObj holen.

// seit TYPO3 12.4 innerhalb eines Controllers:
\nn\t3::Tsfe()->cObj( $this->request  )
Copied!

| @return \TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer

| ➜ Go to source code of Tsfe::cObj()

\nn\t3::Tsfe()->cObjData($request = NULL, $var = NULL); 

$GLOBALS['TSFE']->cObj->data holen.

\nn\t3::Tsfe()->cObjData( $this->request ); => array mit DB-row des aktuellen Content-Elementes
\nn\t3::Tsfe()->cObjData( $this->request, 'uid' );  => uid des aktuellen Content-Elements
Copied!

| @return mixed

| ➜ Go to source code of Tsfe::cObjData()

\nn\t3::Tsfe()->cObjGetSingle($type = '', $conf = []); 

Ein TypoScript-Object rendern. Früher: $GLOBALS['TSFE']->cObj->cObjGetSingle()

\nn\t3::Tsfe()->cObjGetSingle('IMG_RESOURCE', ['file'=>'bild.jpg', 'file.'=>['maxWidth'=>200]] )
Copied!

| ➜ Go to source code of Tsfe::cObjGetSingle()

\nn\t3::Tsfe()->forceAbsoluteUrls($enable = true); 

Setzt config.absRefPrefix auf die aktuelle URL.

Damit werden beim Rendern der Links von Content-Elementen absolute URLs verwendet. Funktioniert zur Zeit (noch) nicht für Bilder.

\nn\t3::Environment()->forceAbsoluteUrls();
$html = \nn\t3::Content()->render(123);
Copied!

| ➜ Go to source code of Tsfe::forceAbsoluteUrls()

\nn\t3::Tsfe()->get($pid = NULL); 

$GLOBALS['TSFE'] holen. Falls nicht vorhanden (weil im BE) initialisieren.

\nn\t3::Tsfe()->get()
\nn\t3::Tsfe()->get()
Copied!

| @return \TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController

| ➜ Go to source code of Tsfe::get()

\nn\t3::Tsfe()->includeHiddenRecords($includeHidden = false, $includeStartEnd = false, $includeDeleted = false); 

Ausgeblendete (hidden) Inhaltselemente im Frontend holen. Kann vor dem Rendern verwendet werden.

\nn\t3::Tsfe()->includeHiddenRecords(true, true, true);
$html = \nn\t3::Content()->render(123);
Copied!
@param bool $includeHidden
@param bool $includeStartEnd
@param bool $includeDeleted
@return void

| ➜ Go to source code of Tsfe::includeHiddenRecords()

\nn\t3::Tsfe()->init($pid = 0, $typeNum = 0); 

Das $GLOBALS['TSFE'] initialisieren. Dient nur zur Kompatibilität mit älterem Code, das noch $GLOBALS['TSFE'] verwendet.

// TypoScript holen auf die 'alte' Art
$pid = \nn\t3::Page()->getPid();
\nn\t3::Tsfe()->init($pid);
$setup = $GLOBALS['TSFE']->tmpl->setup;
Copied!
@param int $pid
@param int $typeNum
@return void

| ➜ Go to source code of Tsfe::init()

\nn\t3::Tsfe()->injectTypoScript($request = NULL); 

Vollständig initialisiertes TypoScript in den Request einschleusen.

Dies ist erforderlich, wenn in einem gecachten Frontend-Kontext ausgeführt wird, in dem das TypoScript-Setup-Array nicht initialisiert ist. Es verwendet den TypoScriptHelper, um ein vollständiges TypoScript-Objekt zu erstellen und es in das frontend.typoscript-Attribut des Requests einzuschleusen.

// In der Middleware:
$request = \nn\t3::Tsfe()->injectTypoScript( $request );
Copied!
@param \TYPO3\CMS\Core\Http\ServerRequest $request
@return \TYPO3\CMS\Core\Http\ServerRequest

| ➜ Go to source code of Tsfe::injectTypoScript()

\nn\t3::Tsfe()->softDisableCache($request = NULL); 

Cache für das Frontend deaktivieren.

"Softe" Variante: Nutzt ein fake USER_INT-Objekt, damit bereits gerenderte Elemente nicht neu gerendert werden müssen. Workaround für TYPO3 v12+, da TypoScript Setup & Constants nicht mehr initialisiert werden, wenn Seite vollständig aus dem Cache geladen werden.

\nn\t3::Tsfe()->softDisableCache()
Copied!
@param \TYPO3\CMS\Core\Http\ServerRequest $request
@return \TYPO3\CMS\Core\Http\ServerRequest

| ➜ Go to source code of Tsfe::softDisableCache()

Methods