TypoScript Constants

In diesem Teil des TypoScript Setup werden Konstanten für die Webseite definiert. Dies sind z. B. Suchpfade für Templates, mit denen die Layouts von Extensions überschrieben werden. Hier können auch Angaben zu bestimmten PageUIDs gemacht werden, also die IDs von Seiten wie z. B. dem Ziel der Suchfunktion. Da sich diese Seiten in verschiedenen Installationen wie z. B. der DEV und der PROD Version einer Webseite unterscheiden können, muss von Fall zu Fall unterschieden werden, ob es sinnvoll ist, diese Information in diese Datei oder das Page Template zu legen.

Über TypoScript hat man die charmante Möglichkeit, Templates einer Extension zu überschreiben. Dies ist vor allem bei Extensions externer Anbieter sinnvoll, die man aus dem TYPO3 Repository (TER) heruntergeladen und auf der eigenen Webseite einbindet. Mit dieser Methode hat man die volle Kontrolle über das Layout, behält jedoch die Option, die Extension jederzeit updaten zu können, um z. B. Sicherheitslücken zu schließen. Die Konfiguration der Suchpfade für Templates, Layouts und Partials geschieht im günstigsten Fall über die eigene Provider Extension und dort über das standardmäßig eingebundene TypoScript in der constants.txt.

Beispiel IBK Provider Extension

plugin.tx_ibkprovider {
  view {
    # cat=plugin.tx_ibkprovider/file; type=string; label=Path to template root (FE)
    templateRootPaths {
      10 = EXT:alteextension/Resources/Private/Templates/      
      20 = EXT:ibkprovider/Resources/Private/Templates/
    }
    # cat=plugin.tx_ibkprovider/file; type=string; label=Path to template partials (FE)
    partialRootPaths {
      10 = EXT:alteextension/Resources/Private/Partials/      
      20 = EXT:ibkprovider/Resources/Private/Partials/
    }
    # cat=plugin.tx_ibkprovider/file; type=string; label=Path to template layouts (FE)
    layoutRootPaths {
      10 = EXT:alteextension/Resources/Private/Layouts/      
      20 = EXT:ibkprovider/Resources/Private/Layouts/
    }
  }
}
plugin.tx_kesearch_pi1 {
  templateRootPath = EXT:ibkprovider/Resources/Private/Ke_search/Templates/
  templateRootPaths {
    10 = EXT:ibkprovider/Resources/Private/Ke_search/Templates/
  }
}

Beispiel News Extension

plugin.tx_news {
  view {
    # cat=plugin.tx_news/file; type=string; label=Path to template root (FE)
    templateRootPath = EXT:news/Resources/Private/Templates/
    # cat=plugin.tx_news/file; type=string; label=Path to template partials (FE)
    partialRootPath = EXT:news/Resources/Private/Partials/
    # cat=plugin.tx_news/file; type=string; label=Path to template layouts (FE)
    layoutRootPath = EXT:news/Resources/Private/Layouts/
  }
}

Über die Settings lassen sich eine Reihe von Werten für die Webseite oder die eingebundenen Extensions setzen. Dies hat den Vorteil, dass man all diese Einstellungen und Konfigurationen an einer einzigen Stelle speichern kann.

IBK Blog: Werte für Settings

plugin.tx_ibkblog {
  persistence {
    # cat=plugin.tx_ibkblog//a; type=string; label=Default storage PID Blog Data:Speicherort für die Daten des Blog
    storagePid = 49
  }
  pages {
    # PageUID for login; label=Default UID Login Page:UID der Seite für das Login zum Blog
    pageLoginUID = 75
    # PageUID for Start page Blog; label=Default UID Start Page for Blog:UID der Startseite für den Blog
    pageStartUID = 75
  }
}

IBK Blog: Settings in Setup abfragen

Settings wie z. B. der Speicherort für eine Extension oder die PageUIDs für bestimmte Seiten können in der Setup Datei des TypoScript der Webseite oder einer Extension abgefragt werden. Diese Daten können dann nun wieder im Repository einer Extension ebenfalls abgefragt und weiterverarbeitet sowie einem Fluid Template weitergereicht werden. Hier das Beispiel des IBK Blog.

plugin.tx_ibkblog {
  settings {
    storagePid = {$plugin.tx_ibkblog.persistence.storagePid}
    pageLoginUID = {$plugin.tx_ibkblog.pages.pageLoginUID}
    pageStartUID = {$plugin.tx_ibkblog.pages.pageStartUID}
  }
}
Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden. Weitere Information
  • typoscript_constants.txt
  • Zuletzt geändert: 20/09/2018 21:40
  • von Thomas Berscheid