Benutzer-Werkzeuge

Webseiten-Werkzeuge


typo3:verschiedenes

Externes Typoscript einbinden

  • Pfade können relativ oder absolut sein
  • man kann auf Extensions verweisen (EXT:)
  • man kann auch auch ganze Ordner auslesen (DIR:)
  • es können Dateiendungen gefiltert werden (zB. nur .t3s auslesen; .txt-Dateien im selben Ordner könnten dann für aktuell inaktiven Code verwendet werden)
  • Conditions sind möglich ab TYPO3 7.6
  • auch für TSconfig verwendbar
<INCLUDE_TYPOSCRIPT: source="FILE:fileadmin/TypoScript/config.t3s">
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:basetemplate8/Configuration/TypoScript/config.t3s">
<INCLUDE_TYPOSCRIPT: source="DIR: ./plugin">
<INCLUDE_TYPOSCRIPT: source="DIR:EXT:basetemplate8/Configuration/TypoScript">
<INCLUDE_TYPOSCRIPT: source="DIR: ../plugin" extensions="t3s">
<INCLUDE_TYPOSCRIPT: source="FILE:fileadmin/TypoScript/user.t3s" condition="[loginUser = *]">

registerPageTSConfigFile und INCLUDE_TYPOSCRIPT

Wenn man in einer Extension über registerPageTSConfigFile eine Datei lädt, in welcher mit INCLUDE_TYPOSCRIPT wieder eine Datei oder ein Ordner eingeschlossen wird, muss der Pfad dorthin absolut sein! Derzeit gibt es einen Bug, der relative Pfade in diesem Zusammenspiel verhindert.

Configuration/TCA/Overrides/pages.php

<?php
defined('TYPO3_MODE') or die();
 
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
        'basetemplate8', // Extension-Key
        'Configuration/TSconfig/Page.t3s', // Datei-Pfad
        'Template Extension: Page TSconfig' // Titel
);

Configuration/TSconfig/Page.t3s

// funktioniert nicht:
<INCLUDE_TYPOSCRIPT: source="DIR: ./Page" extensions="t3s">
 
// so gehts:
<INCLUDE_TYPOSCRIPT: source="DIR:EXT:basetemplate8/Configuration/TSconfig/Page" extensions="t3s">
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:basetemplate8/Configuration/TSconfig/Page/BackendLayouts.t3s">

Quelle: Bug #79737: Registered pageTSconfig file won't allow relative paths for include - Core - TYPO3 Forge


Beliebig viele Spalten/Inhaltsbereiche in Front- und Backend

Bei fluid_styled_content ist aus historischen Gründen noch das klassische styles.content.get für die Spalte 0 (colPos) vorkonfiguriert.

page.10.variables.content_0 < styles.content.get wird also noch funktionieren. Die anderen drei Spalten aus css_styled_content gibt es allerdings nicht mehr.

Neue Spalten können in TYPO3 aber auf einfache Weise angelegt werden. Mit Backend-Layouts lässt sich die gewünschte Menge sowie das Layout im Backend unter Web>Page einstellen. Ein Wizard hilft bei der Erstellung der Konfiguration. Für jeden Bereich gibt es einen frei wählbaren Namen sowie die Spaltennummer, die dem Datenbankfeld colPos in tt_content entspricht.

Page TSconfig für BackendLayout:

mod.web_layout.BackendLayouts {
  1 {
    title = Example
    icon = EXT:template_extension/Resources/Public/Images/BackendLayouts/2col.png
    config {
      backend_layout {
        colCount = 2
        rowCount = 2
        rows {
          1 {
            columns {
              1 {
                name = Header
                colspan = 2
                colPos = 0
              }
            }
          }
          2 {
            columns {
              1 {
                name = linke Spalte
                colPos = 1
              }
              2 {
                name = rechte Spalte
                colPos = 2
              }
            }
          }
        }
      }
    }
  }
}

Um die Seiteninhalte der konfigurierten Spalten im Frontend ausgeben zu können, benötigt man dann noch folgendes TypoScript:

page.10.variables.content_0 = CONTENT
page.10.variables.content_0 {
        table = tt_content
        select.orderBy = sorting
        select.where = colPos=0
        select.languageField = sys_language_uid
    }
}
 
page.10.variables.content_1 < page.10.variables.content_0
page.10.variables.content_1.select.where = colPos=1
 
page.10.variables.content_2 < page.10.variables.content_0
page.10.variables.content_2.select.where = colPos=2
typo3/verschiedenes.txt · Zuletzt geändert: 2017/05/10 22:02 von admin