TYPO3 Tipps & Tricks
Alle Kategorien
Alle anzeigen / Alle verbergen
-
Meldung auf der TYPO3-Backend Loginseite ausgeben
-
Folgende Zeile in die Datei /typo3conf/extTables.php eintragen:
$GLOBALS['TYPO3_CONF_VARS']['BE']['loginNews'][]= array (
'header' => 'Ihre Überschrift',
'content' => 'Ihr Meldungstext'
);Sie können natürlich auch mehrere Meldungen bzw. News für TYPO3-User ausgeben und das loginNews-Array erweitern:
$GLOBALS['TYPO3_CONF_VARS']['BE']['loginNews'][]= array (
'date' => '2.1.2010',
'header' => 'Überschrift 2',
'content' => 'Newstext 2'
);$GLOBALS['TYPO3_CONF_VARS']['BE']['loginNews'][]= array (
'date' => '1.1.2010',
'header' => 'Überschrift 1',
'content' => 'Newstext 1'
);Kategorie: Backend -
Indexed Search indiziiert metatags
-
indexed_search so konfigurieren, dass Meta_tags nicht durchsucht werden:
Ab der TYPO3-Version 4.2 geht's über Typoscript
Folgendes ins TS-Setup eintragen:
config.index_metatags =
page.config.index_metatags =Für alle Versionen darunter ist's leider etwas komplizierter. Hier muss die PHP-Funktion splitHTMLContent($content) adaptiert werden. Ein Anleitung dazu findet ihr hier.
Kategorie: Typoscript, Erweiterungen -
TYPO3 barrierfrei?
-
Praktische Tipps zum Thema TYPO3 und Barrierefreiheit:
Einfach für alle
Alles zum Thema BarrierefreiheitBarrierefreiheit in der Praxis
Wie der Name schon verrät, ein sehr praxisbezogener Artikel, t3n-MagazinKein Kinderspiel. TYPO 3 und Barrierefreiheit
Allgemeines zum Thema, t3n-MagazinVideo zum Vortrag "Standardkonforme Webseiten mit TYPO3"
Kai Laborenz spricht auf dem Multimediatreff in Köln über barrierefreie Websites mit TYPO3; sehr praxisbezogenBuchtipp "TYPO3 4.0 Das Handbuch für Entwickler"
Kai Laborenz, Thomas Wendt, Andrea Ertel, Prakash Dussoye, Elmar Hinz, Verlag: Galileo Computing
Empfehlenswert ist vor allem der Part "Barrierefreie und standardkonforme Websites mit TYPO3"YAML-Template für TYPO3
(X)HTML/CSS Framework, ausgerichtet auf Webstandards und BarrierefreiheitKategorie: Frontend -
Mehrsprachige News per SELECT-Abfrage ausgeben
-
Eine eigene Typoscript-Abfrage ist wesentlich schneller als LIST or LATEST.
Brauchbar bei einer grossen Anzahl von Datensätzen.Erzeuge eine Liste mit Newstiteln (inkl. Link zur Singleansicht):
#wenn keine Übersetzung vorhanden, zeige die Newseinträge der Default-Sprache
config.sys_language_overlay = 1
temp.mynewslist = CONTENT
temp.mynewslist {
table = tt_news
select {
pidInList = 123 # Sysfolder-ID mit Newsdatensätzen
languageField = sys_language_uid
where = deleted=0
andWhere = t3ver_state<=0
andWhere = hidden=0
orderBy = datetime DESC
}
renderObj = COA
renderObj {
wrap = |
10 = TEXT
10.field = title
10.typolink {
parameter = 777 # Seiten-ID der Seite mit News-Singleansicht
additionalParams=&tx_ttnews[tt_news]={field:uid}&tx_ttnews[backPid]={TSFE:id}
additionalParams.insertData=1
useCacheHash=1
}
}
}Kategorie: Typoscript -
GET-Variable per TYPOSCRIPT auslesen
-
z.B. Link auf www.rochelt.info/index.php&deinParameter=deinWert
Folgender Code auf der Seite mit der PageID 31 gibt den Wert "deinWert" aus:
10 = COA
10 {
10 = TEXT
10.data = GPvar : deinParameter
}Kategorie: Typoscript -
IP-Adresse des Clients per TYPOSCRIPT ausgeben
-
10 = COA
10 {
10 = TEXT
10.data = getIndpEnv : REMOTE_ADDR
}Kategorie: Typoscript -
<body> -Tag ändern
-
Um den Standard <body>-Tag zu ersetzen und z.B. einen Javascriptaufruf hinzuzufügen im Setup des Templates folgendes eingeben:
page.bodyTag = <body onload="onLoad();>
Kategorie: Typoscript -
Spamprotection
-
Folgendes ins SETUP der Root-Seite:
config.spamProtectEmailAddresses = 2
config.spamProtectEmailAddresses_atSubst = (at)Kategorie: Frontend -
Dateiverweise (Filelist): Icon für jeweiligen MIMETYPE
-
Neue Dateiendungen + entsprechendes Icon hinzufügen:
Icon mit dem Namen der Dateiendung (z.B. docx.gif) in folgendem Ordner speichern:
typo3/sysext/cms/tslib/media/fileicons/
Kategorie: Frontend -
Dateiverweise (Filelist): Beschränkung auf 10 Dateien aufheben
-
Folgenden Eintrag in typo3conf/extTables.php eingeben:
$GLOBALS['TCA']['tt_content']['columns']['media']['config']['maxitems']=100 -
In TYPOSCRIPT ein Logo verlinken
-
temp.logo = IMAGE
temp.logo.file = fileadmin/template/main/interface/logo.gif
temp.logo.altText = Alternativtext für Logo
temp.logo.stdWrap.typolink.parameter=http://www.einfach-ist-schön.at/ODER suchmaschinenotpimiert und schöner mit CSS Image Replacement:
temp.logo = HTML
temp.logo.value = <a href="http://www.einfach-ist-schön.at/ "><h1>Einfach ist schön</h1></a>Im CSS-File:
#logo {position:relative; float:left; width:172px; height:38px;}
#logo h1 {width:172px; height:38px; background:url(../interface/logo.gif); text-indent: -9999px;padding:0; margin:0; border:0;}
#logo a {outline: none;}Kategorie: Typoscript -
Backend Frame für Seitenbaum vergrößerbar machen
-
In der User TS-Config:
setup.override.navFrameResizable = true
setup.override.navFrameWidth = 290
#Länge des Seitentitels begrenzen
setup.override.titleLen = 28Kategorie: Backend -
(Kopie 1) Beim Kopieren von Seiteninhalten unterdrücken
-
Folgende Zeile in das PageTS Ihrer Root Seite:
TCEMAIN.table.tt_content.disablePrependAtCopy = 1Kategorie: Backend -
Backend Sprache auf Deutsch einstellen
-
Ab Typo3, Version 4.0 im Extension Manager:
"Extension Manager" -> "Translation handling" -> "German"
"Save Selection"
"Update from online repository"Kategorie: Backend -
Submit Button fehlt in der Backend- Benutzerverwaltung
-
TYPO3 Version 4.2.10, BUG 0009738
In der Backend User Administration fehlt der Submit-Button in "Group and Compare Users".
LÖSUNG: Gewünschte Checkbox aktivieren und auf ENTER-Taste drücken
Kategorie: Backend -
Seitencache löschen auch für NichtAdmin-User
-
In die User TSconfig
options.clearCache.pages = 1
Kategorie: Backend -
Page-ID im Seitenbaum anzeigen
-
In der User TS-Config:
options.pageTree.showPageIdWithTitle = 1
Kategorie: Backend -
Kontextmenü: Bestimmte Optionen für einzelne Benutzer/Gruppen ausblenden
-
z.B.:
options.contextMenu {
pageTree.disableItems = info,history,perms,hide,edit_access
}typo3.org/documentation/document-library/core-documentation/doc_core_tsconfig/4.2.0/view/1/2/
options.contextMenu.[key].disableItems
Kategorie: Backend -
Patch einspielen per SSH
-
1.) Auf der Website bugs.typo3.org findet man aktuelle Patches für TYPO3-Bugs.
2.) Das Patch-File per FTP in den TYPO3-Ordner hochladen.
3.) Über SSH verbinden und in das entsprechende Verzeichnis wechseln.4.) Patch mit folgendem Befehl installieren:
patch -p0 < [Pfad-zum-Patch]/Name-des-Patches.patch
5.) Die Änderungen werden automatisch eingespielt.Kategorie: Backend -
Bei Server-Crash
-
Dateien temp_CACHED_..... im typo3conf Verzeichnis löschen!
Kategorie: Backend -
Mehrsprachiger Link für Druckansicht
-
temp.druckansicht = COA
[globalVar = GP:L = 2]
temp.druckansicht .wrap = Print Version
[else]
temp.druckansicht .20.data = 0
temp.druckansicht .wrap = Druckansicht
[end]temp.druckansicht.10 = TEXT
temp.druckansicht.10.data = TSFE:id
temp.druckansicht.10.wrap = index.php?id=|temp.druckansicht.20 = TEXT
temp.druckansicht.20.data = TSFE:sys_language_uid
temp.druckansicht.20.wrap = &L=|&type=98Kategorie: Typoscript -
Globale Variable aus Setup-Template in PHP-Datei abfragen
-
Für Extension-Entwicklung:
z.B. Domain wird im Setup des Website-Templates definiert
config.baseURL = www.einfach-ist-schoen.at
In der php-Datei der Extensionkann die Typoscript-Variable so abgefragt werden:
$theDomain = $GLOBALS["TSFE"]->config["config"]["baseURL"];Kategorie: Typoscript, Erweiterungen -
Mehrere Stylesheets einbinden
-
seite.includeCSS {
file1 = fileadmin/Internet/css/screen.css
file1.media = screen,projection
file2 = fileadmin/Internet/css/print.css
file2.media = print
}Kategorie: Typoscript -
Überschriften H1, H2, H3 aus RTE entfernen
-
#Entfernt H1, H2, H3 aus dem RTE
RTE.default.hidePStyleItems = h1,h2,h3Kategorie: RTE -
RTE: Kein P-tag wrap in TABELLEN
-
Folgendes ins TS SETUP eintragen:
#P Tag Ummantelung in Tabellen verhindern:
lib.parseFunc_RTE.externalBlocks = ul,ol,table
#nochmaliges parsen von tabellenzellen auschalten
lib.parseFunc_RTE.externalBlocks.table.HTMLtableCells.default.
callRecursive = 0
#nachträgliches ermöglichen von Links in Tabellenzellen
lib.parseFunc_RTE.externalBlocks.table.HTMLtableCells.default.
stdWrap.parseFunc {
makelinks = 1
makelinks.http.keep = scheme,path,query
makelinks.mailto.keep = path
tags {
link = TEXT
link {
current = 1
typolink.parameter.data = parameters : allParams
}
}
}Kategorie: RTE -
RTE: Default Alt/Title-Text bei Links entfernen
-
RTE.classesAnchor {
internalLink {
altText =
titleText =
}
externalLink {
altText =
titleText =
}
externalLinkInNewWindow {
altText =
titleText =
}
internalLinkInNewWindow {
altText =
titleText =
}
download {
altText =
titleText =
}
mail {
altText =
titleText =
}
}Kategorie: RTE -
Zeilenumbruch statt Absatz einfügen
-
Mit ENTER wird ein Absatz eingefügt.
Taste "SHIFT" (Großschreibungstaste) gedrückt halten und ENTER:
fügt einen einfachen Zeilenumbruch einKategorie: RTE -
News: Cache automatisch leeren
-
Unter "Seiteneigenschaften > Optionen > TSconfig" des News-Sysfolders, der die Newsdatensätze enthält folgendes einfügen:
TCEMAIN.clearCacheCmd = 1,2,31,2,3 steht für die Seiten ID's der Seiten auf denen sich ein News-Plugin befindet.
Kategorie: Erweiterungen -
Wenn keine News vorhanden, soll Message "Keine News in dieser Ansicht." NICHT erscheinen
-
#wenn keine News vorhanden soll Text "Keine News in dieser Ansicht." nicht erscheinen
plugin.tt_news {
_LOCAL_LANG.de.noNewsToListMsg = <div style="display: none"></div>"
_LOCAL_LANG.en.noNewsToListMsg = "<span style="display: none"></span>"
_LOCAL_LANG.default.noNewsToListMsg =
}Kategorie: Erweiterungen -
Printlink + RealUrl + News Detail
-
In localconf.php:
...
'preVars' => array (
array (
'GETvar' => 'no_cache',
'valueMap' => array (
'no_cache' => '1',
),
'noMatch' => 'bypass',
),
array (
'GETvar' => 'type',
'valueMap' => array (
'print' => '98',
),
'noMatch' => 'bypass'
),
array (
'GETvar' => 'L',
'valueMap' => array(
'de' => 0,
'en' => 2,
),
'noMatch' => 'bypass',
),
),
....UND
....
'fileName' => array (
// add .html suffix to the end of the path generated
'defaultToHTMLsuffixOnPrev' => 1,'index' => array (
'print.html' => array(
'keyValues' => array (
'type' => '98',
),
),
),
),
...Als Printlink Erweiterung as_printlink (die funktioniert auch mit REALURL problemlos)
Kategorie: REALURL, Erweiterungen -
damit class-Attribut für table im RTE erhalten bleibt
-
RTE table class fix: damit class-Attribut für table im RTE erhalten bleibt und nicht durch contenttable ersetzt wird, folgende Zeile ins TS template Setup:
lib.parseFunc_RTE.externalBlocks.table.stdWrap.HTMLparser.tags.table.fixAttrib.class.list >Kategorie: RTE -
Suche auf bestimmten Bereich des Seitenbaums einschränken
-
#123 ist die Page ID des Bereichs der durchsucht werden soll
plugin.tx_indexedsearch._DEFAULT_PI_VARS.sections = rl1_123Kategorie: Erweiterungen -
Powermail: doppelte Einträge verhindern
-
Doppelte Einträge entstehen, wenn das Powermail-Formular irrtümlicherweise zweimal hintereinander gesendet wird (Doppelklick oder Seitenaktualisierung)
LÖSUNG:
Folgende Zeile in den CONSTANTS hinzufügen
plugin.powermail.enable.unique = uid1
(uid1 steht für den Wert des Emailfeldes. Nummer im Formular nachsehen!)Kategorie: Erweiterungen -
Powermail: Absendername und Absenderadresse im Bestätigungsemail überschreiben
-
Name und Adresse des Absenders im Bestätigungsemail überschreiben:
ins SETUP der Formularseite:
plugin.tx_powermail_pi1 {
email {
sender_mail {
sender.name = TEXT
sender.name.value = Ihr Name
sender.email = TEXT
sender.email.value = email@einfach-ist-schön.at
}
}
}Kategorie: Erweiterungen -
Powermail: Anmeldungsdaten als .csv oder .xls exportieren
-
1.) Zeitfilter in TSCONFIG der Startseite eintragen:
tx_powermail_mod1.config {
list.filterstart = 2010-01-01 00:00
}2.) Powermail im Menü WEB links auswählen
3.) Im Seitenbaum Formularseite auswählen
4.) Oben rechts stehen die Daten als CSV, XLS oder Tabelle zum Download bereit.
Kategorie: Erweiterungen
