Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige ÜberarbeitungVorherige ÜberarbeitungNächste Überarbeitung | Vorherige Überarbeitung | ||
typo3:verschiedenes [2014/03/21 21:05] – [Headlines mit Klassen versehen] admin | typo3:verschiedenes [2017/05/10 22:02] (aktuell) – Beliebig viele Spalten/Inhaltsbereiche in Front- und Backend admin | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
===== Externes Typoscript einbinden ===== | ===== Externes Typoscript einbinden ===== | ||
- | <code typoscript>< | + | * Pfade können relativ oder absolut sein |
- | ---- | + | * man kann auf Extensions verweisen ('' |
+ | * man kann auch auch ganze Ordner auslesen ('' | ||
+ | * es können Dateiendungen gefiltert werden (zB. nur //.t3s// auslesen; // | ||
+ | * Conditions sind möglich <wrap caution>ab TYPO3 7.6</wrap> | ||
+ | * auch für TSconfig verwendbar | ||
+ | <code typoscript> | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
- | ===== Mehr als 4 Spalten in Front- | + | ==== registerPageTSConfigFile |
- | Für die vier Standard-Spalten | + | Wenn man in einer Extension über '' |
- | < | + | **Configuration/ |
- | # colPos = 0: | + | < |
- | 10 < styles.content.get | + | <?php |
- | # colPos = 1: | + | defined(' |
- | 10 < styles.content.getLeft | + | |
- | # colPos = 2: | + | \TYPO3\CMS\Core\Utility\ExtensionManagementUtility: |
- | 10 < styles.content.getRight | + | ' |
- | # colPos = 3: | + | ' |
- | 10 < styles.content.getBorder | + | ' |
+ | ); | ||
</ | </ | ||
- | Wer mehr Spalten benötigt, kann mit Backend-Layouts die gewünschte Menge sowie das Layout im Backend einstellen. Um die Seiteninhalte der zusätzlichen Spalten im Frontend ausgeben zu können, benötigt man noch folgendes TypoScript. Diese Konfiguration ist identisch mit der in '' | + | **Configuration/ |
+ | <code typoscript> | ||
+ | // funktioniert nicht: | ||
+ | < | ||
- | <code typoscript> | + | // so gehts: |
- | page.10.marks.NEWCOLUMN | + | <INCLUDE_TYPOSCRIPT: |
- | page.10.marks.NEWCOLUMN { | + | < |
- | table = tt_content | + | |
- | | + | |
- | orderBy | + | |
- | where = colPos=4 | + | |
- | # Muss bei mehrsprachigen Websites gesetzt werden, sonst wird der Inhalt aller Sprachen ausgegeben. | + | |
- | select.languageField = sys_language_uid | + | |
- | } | + | |
- | } | + | |
</ | </ | ||
+ | |||
+ | Quelle: [[https:// | ||
---- | ---- | ||
- | ===== Headlines mit Klassen versehen ===== | ||
- | // | + | ===== Beliebig viele Spalten/Inhaltsbereiche in Front- und Backend ===== |
- | <code html> | + | Bei '' |
- | <div class=" | + | |
- | <h1 class=" | + | |
- | </div> | + | |
- | <div class=" | + | |
- | < | + | |
- | </div> | + | |
- | <div class=" | + | |
- | < | + | |
- | </ | + | |
- | </ | + | |
- | Jede Überschrift | + | '' |
- | Mit diesem TypoScript wird folgendes erreicht: | + | Neue Spalten können in TYPO3 aber auf einfache Weise angelegt werden. |
- | * Die div-Elemente werden komplett entfernt. | + | |
- | * Allen Überschriften wird direkt eine Klasse zugewiesen, die abhängig vom Wert im Feld //header_layout// ist. | + | |
- | * Falls das Feld // | + | |
- | * Die praktische Klasse der ersten Überschrift auf einer Seite bleibt erhalten. | + | |
+ | **Page TSconfig für BackendLayout: | ||
<code typoscript> | <code typoscript> | ||
- | lib.stdheader | + | mod.web_layout.BackendLayouts |
- | 3 > | + | 1 { |
- | 3 = LOAD_REGISTER | + | |
- | 3.headerClass.cObject = COA | + | icon = EXT: |
- | 3.headerClass.cObject | + | |
- | 10.cObject = CASE | + | |
- | 10.cObject | + | |
- | key.field | + | |
- | 0 = TEXT | + | |
- | 0 { | + | 1 { |
- | value = header-first header-1 | + | |
- | if.value = 1 | + | |
- | if.equals.data | + | |
- | noTrimWrap | + | |
- | } | + | colPos |
- | default = TEXT | + | } |
- | default | + | } |
- | value = header-first header-{field: | + | } |
- | if.value = 1 | + | 2 { |
- | if.equals.data | + | |
- | stdWrap.insertData | + | 1 { |
- | noTrimWrap = | class=" | + | |
- | } | + | |
- | } | + | } |
- | stdWrap.ifEmpty.cObject = CASE | + | |
- | stdWrap.ifEmpty.cObject | + | |
- | key.field | + | |
- | 0 = TEXT | + | } |
- | 0 { | + | } |
- | value = header-1 | + | } |
- | noTrimWrap = | class=" | + | } |
- | } | + | } |
- | default = TEXT | + | } |
- | default { | + | } |
- | value = header-{field: | + | |
- | insertData = 1 | + | |
- | noTrimWrap = | class=" | + | |
- | } | + | |
- | } | + | |
- | } | + | |
- | stdWrap.dataWrap > | + | |
} | } | ||
</ | </ | ||
- | <WRAP center round info 80%> | + | Um die Seiteninhalte |
- | ==== Erklärung: ==== | + | |
- | Wir passen // | + | |
- | Das erste CASE-Objekt gibt nur dann einen Wert (also die Klassen) zurück, wenn der Wert aus // | ||
- | |||
- | Wenn das erste CASE-Objekt keinen Wert ausgibt, weil es sich nicht um die erste Überschrift der Seite handelt, wird Dank '' | ||
- | </ | ||
- | |||
- | |||
- | Das zweite TypoScript sorgt dafür, dass Überschriften aus dem RTE ebenfalls Klassen erhalten: | ||
<code typoscript> | <code typoscript> | ||
- | lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines { | + | page.10.variables.content_0 = CONTENT |
- | addAttributes.H1.class = header-1 | + | page.10.variables.content_0 { |
- | addAttributes.H2.class = header-2 | + | table = tt_content |
- | addAttributes.H3.class | + | |
+ | select.where = colPos=0 | ||
+ | | ||
+ | } | ||
} | } | ||
- | </ | ||
- | Ergebnis: | + | page.10.variables.content_1 |
- | <code html> | + | 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 | ||
</ | </ | ||
- | ---- | ||
- | ===== Listenelemente im RTE um < | ||
- | Hiermit lassen sich Auflistungszeichen und Text separat formatieren. | ||
- | < | ||
- | **Setup:** | ||
- | <code typoscript> | ||
- | lib.parseFunc_RTE.externalBlocks := addToList(ol, | ||
- | lib.parseFunc_RTE.externalBlocks { | ||
- | li.callRecursive = 1 | ||
- | li.callRecursive.alternativeWrap = < | ||
- | li.stdWrap.HTMLparser { | ||
- | allowTags = li,span,p | ||
- | removeTags = p | ||
- | } | ||
- | ul.callRecursive = 1 | ||
- | ol.callRecursive = 1 | ||
- | } | ||
- | </ | ||
- | **CSS:** | ||
- | <code css> | ||
- | li {color: | ||
- | li > span {color: | ||
- | </ |