In diesem Tutorial wird gezeigt, wie man PageTypes via Typoscript generiert, um z.B. Content in anderen Content Types bereitzustellen. Dies kann dann für APIs oder RSS Feeds genutzt werden. Vielleicht will man per Scaping Tool auch auf diese Daten speziell zugreifen.

Anwendungsbeispiel mit eigenem Fluid-Template

In dem Beispiel dieses Tutorials wollen wir ein dediziertes FLUIDTEMPLATE im Text/Html Content Type ausgeben, um unser eigentliches FLUIDTEMPLATE nicht zu beeinflussen. Im Fluid Template wird dann einfach <div class="greeting">hallo Welt</div> ausgegeben. Der Vorteil liegt darin, dass wir auch mit einem Extbase Controller geziehlte Datenverarbeitung/Bereitstellung somit machen könnten.

Hier das Beispiel mit dem eigenen FLUIDTEMPLATE:

 

meinPageType = PAGE
meinPageType {
   #Damit unser PageType via page.abc/?type=1999 aufrufbar gemacht wird
   typeNum = 1999
   config {
      #Unnötige und Vorhandene Einstellungen entfernen, um Plain zu bleiben
      disableAllHeaderCode = 1
      disablePrefixComment = 1
      sendCacheHeaders = 0
      xhtml_cleaning = 0
      admPanel = 0
      debug = 0
      #ggf. Cache aktivieren/deaktivieren je nachdem, wie schnell die Daten sich ändern
      no_cache = 0

      #Seiten Content-Type ändern, (Möglich ist z.B. auch text/json, text/plain, etc)
      additionalHeaders {
         10.header = Content-type:text/html
      }

   }

   #Was möchten wir im PageType bereitstellen? In diesem Beispiel einfach ein Hallo Welt DIV
   10 = FLUIDTEMPLATE
   10 {
      #Wichtig: MeinPageTypeTemplate.html im Pfad erstellen!
      templateName = meinPageTypeTemplate
      templateRootPaths {
         10 = EXT:meineExt/Resources/Private/Extensions/PageType
      }
   }
}

 

Wie bereits erwähnt können wir hier alles definieren, was uns das TypoScript bereitstellt, also auch ganze PAGE, CONTENT, etc. Elemente.

Ruft man jetzt https://www.page.abc/?type=1999 auf, so begrüßt uns das FluidTemplate, welches wir unter 10 definiert haben.

URL mit RouteEnhancer lesbar machen

Damit man den gewünschten PageType jetzt nicht immer mit /?type=1999 aufrufen muss, kann man in der Siteconfiguration YAML Datei einen RouteEnhancer anlegen und auf den PageType zeigen:

 

base: 'https://www.meineseite.abc/'
rootPageId: 1

...

routeEnhancers:
  PageTypeSuffix:
    type: PageType
    map:
      hallowelt: 1999

 

 

Nachdem der Cache geleert ist, kann man nun https://www.meineseite.abc/hallowelt aufrufen, und bekommt das FLUIDTEMPLATE z.B. zu sehen.

Previous PostDDEV Zertifikatsprobleme bei Firefox beheben
Next PostLinux Tutorial: Benutzer mit Root-Berechtigungen anlegen