Minimales Setup für Standard-Mailformular sollte mitbringen:
- Reply-To an Websitebesucher
- fester From-Name…
- …und From-Email (sonst ggf. falsch automatisiert ermittelt)
Konfiguration könnte somit etwa aussehen wie folgt:
Name | *replyto_name=input
E-Mail | *replyto_email=input
Nachricht | *Nachricht=textarea
| from_name=hidden | example.com
| from_email=hidden | info@example.com
| formtype_mail=submit | Absenden
| html_enabled=hidden
| subject=hidden | example.com Mailformular
Um Bilder nicht nur eine feste Breite in Abhängigkeit von der colPos zuzuweisen, sondern auch noch zu croppen, bentötigt man folgendes Snippet:
temp.tt_content.image < tt_content.image
tt_content.image = CASE
tt_content.image {
key.field=colPos
0 < temp.tt_content.image
1 < temp.tt_content.image
2 < temp.tt_content.image
1.20.1.file.width >
1.20.1.file.height >
1.20.1.file {
width = 698c
height = 400c
}
2.20.1.file.width >
2.20.1.file.height >
2.20.1.file {
width = 200c
height= 150c
}
}
Um Links in HTML-Elementen zu parsen benötigt man folgende Zeilen im setup:
# Syntax:
# ausgelassene Parameter können hinten weggelassen oder durch "-" freigehalten werden
# <link PID/URL/Mail TARGET/WIDTHxHEIGHT CLASS "TITLE">LINKTEXT</link>
#
# Beispiele:
# <link 2>Zur Seite</link>
# <link 7 - a-link "zur Information">hier</link>
# <link http://www.google.de 300x400 myPopup-class "in neuem Fenster">Google</link>
# <link info@abc.de - myMail "E-Mail senden">Kontakt</link>
#
tt_content.html.parseFunc.tags.link < lib.parseFunc.tags.link
Das target kann dann noch über das setup folgendermaßen ändern:
tt_content.html.parseFunc.tags.link.typolink {
extTarget >
extTarget = _self
target >
target = _self
}
Auf welche Weise die Sprachbehandlung und Fallbacks erfolgen sollen bzw. ob die Regelung auch für Bilder greifen soll, ist von Projekt zu Projekt verschieden.
Eine öfters anzutreffende Variante ist: Falls kein Bild in der Übersetzung der Seite vorhanden ist (pages_overlay), nimm das aus der Default-Sprache, falls dort auch keines ist, dann schau in der Rootline nach oben bis eines gefunden wird.
// 1. Idealerweise das Bild aus dem media-Feld der Sprache nehmen (override)
// 2. Falls leer, dann das aus der Default-Sprache (override.ifEmpty)
// 3. Falls da auch nix drin steht, dann levelmedia bis Root hochgucken
temp.dynamicImage = IMG_RESOURCE
temp.dynamicImage {
file.import = uploads/media/
file.import.data = levelmedia: -1,slide
file.import.override.listNum = 0
file.import.override.field = media
file.import.override.ifEmpty.cObject = TEXT
file.import.override.ifEmpty.cObject {
data.dataWrap = DB:pages:{field:uid}:media
insertData = 1
if.isTrue.data = TSFE:sys_language_uid
}
} |
// 1. Idealerweise das Bild aus dem media-Feld der Sprache nehmen (override)
// 2. Falls leer, dann das aus der Default-Sprache (override.ifEmpty)
// 3. Falls da auch nix drin steht, dann levelmedia bis Root hochgucken
temp.dynamicImage = IMG_RESOURCE
temp.dynamicImage {
file.import = uploads/media/
file.import.data = levelmedia: -1,slide
file.import.override.listNum = 0
file.import.override.field = media
file.import.override.ifEmpty.cObject = TEXT
file.import.override.ifEmpty.cObject {
data.dataWrap = DB:pages:{field:uid}:media
insertData = 1
if.isTrue.data = TSFE:sys_language_uid
}
}
Hier einmal ein paar userConfig Einstellungen, die z.B. hilfreich sind, wenn der Redaktionsbenutzer nur seinen Namen oder Passwort ändern darf.
setup.override {
# Persönliche Daten ein/ausblenden
realName =
## Ihr Name
email =
## Ihre E-Mail-Adresse
emailMeAtLogin = 0
## Mich per E-Mail benachrichtigen, wenn sich jemand mit meinem Konto anmeldet
password =
## Neues Passwort
password2 =
## Neues Passwort (Wiederholung)
lang = de
## Backend-Sprache
# Beim Start ein/ausblenden
startModule =
## Beim Start folgendes Modul aufrufen
thumbnailsByDefault = 0
## Vorschaubilder standardmäßig anzeigen
titleLen = 300
## Maximale Titellänge
# Bearbeiten und erweiterte Funktionen ein/ausblenden
edit_RTE = 0
## Rich-Text-Editor aktivieren
edit_wideDocument = 0
## Breiten Hintergrund anzeigen
edit_docModuleUpload = 0
## Hochladen von Dateien direkt im Web-Modul
enableFlashUploader = 0
## Flash-Schnittstelle zum Hochladen aktivieren (erfordert Flash 9+)
resizeTextareas = 0
## Größe von mehrzeiligen Textfeldern anpassbar machen
resizeTextareas_MaxHeight = 0
## Maximale Höhe in der Größe anpassbarer, mehrzeiliger Textfelder in Pixel
resizeTextareas_Flexible = 0
## Textfelder flexibel machen
disableCMlayers = 0
## Inhaltskontextmenüs deaktivieren
copyLevels = 0
## Rekursives Kopieren
recursiveDelete = 0
## Rekursives Löschen
# Adminfunktionen ein/ausblenden
simulate =
## Backend-Benutzer simulieren
debugInWindow =
## Debug-Meldungen in neuem Browserfenster anzeigen
installToolEnableButton =
## Zugriff auf Installationsprogramm
## Rich-Text-Editor ein/ausblenden
rteWidth =
## Breite des RTE in Pixel oder Prozent
rteHeight =
## Höhe des RTE in Pixel oder Prozent
rteResize =
## Größe des RTE veränderlich machen
rteMaxHeight =
## Maximale Höhe des in der Größe veränderlichen RTE
rteCleanPasteBehaviour =
## Modus für sauberes Einfügen
# Weitere einstellungen ein/ausblenden
hideSubmoduleIcons = 1
navFrameResizable = 1
condensedMode = 0
noMenuMode =
startInTaskCenter = 0
helpText = 1
edit_showFieldHelp = icon
ModuleIconSet =
ModuleIconSetPath =
ModuleIconSize =
UsePNGModuleImages = 0
UsePNGFix = 0
styleSheetFile_post =
edit_maxRecords = 2
noOnChangeAlertInTypeFields = 1
saveTreePositions = 1
dontShowPalettesOnFocusInAB = 0
deleteCmdInClipboard = 0
}
setup.fields{
# Persönliche Daten ein/ausblenden
realName.disabled = 1
email.disabled = 1
emailMeAtLogin.disabled = 1
password.disabled = 0
password2.disabled = 0
lang.disabled = 0
# Beim Start ein/ausblenden
startModule.disabled = 1
thumbnailsByDefault.disabled = 1
titleLen.disabled = 1
# Bearbeiten und erweiterte Funktionen ein/ausblenden
edit_RTE.disabled = 1
edit_wideDocument.disabled = 1
edit_docModuleUpload.disabled = 1
enableFlashUploader.disabled = 1
resizeTextareas.disabled = 1
resizeTextareas_MaxHeight.disabled = 1
resizeTextareas_Flexible.disabled = 1
disableCMlayers.disabled = 1
copyLevels.disabled = 1
recursiveDelete.disabled = 1
# Adminfunktionen ein/ausblenden
simulate.disabled =
debugInWindow.disabled =
installToolEnableButton =
# Rich-Text-Editor ein/ausblenden
rteWidth.disabled = 1
rteHeight.disabled = 1
rteMaxHeight.disabled = 1
rteResize.disabled = 1
rteCleanPasteBehaviour.disabled = 1
# Weitere einstellungen ein/ausblenden
hideSubmoduleIcons.disabled =
navFrameResizable.disabled =
condensedMode.disabled =
noMenuMode.disabled =
startInTaskCenter.disabled =
helpText.disabled =
edit_showFieldHelp.disabled =
ModuleIconSet.disabled =
ModuleIconSetPath.disabled =
ModuleIconSize.disabled =
UsePNGModuleImages.disabled =
UsePNGFix.disabled =
styleSheetFile_post.disabled =
edit_maxRecords.disabled =
noOnChangeAlertInTypeFields.disabled =
saveTreePositions.disabled =
dontShowPalettesOnFocusInAB.disabled =
deleteCmdInClipboard.disabled =
}
ACHTUNG: dies ist nur eine Ansammlung von diversen Möglichkeiten auf einen Blick. Diese müssen natürlich von jedem individuell und nach Bedarf angepasst werden.
Wer noch weitere Ergänzungen hat, kann sie uns gerne mitteilen!