Mailform: Formular ohne Extension

Für einfache Formulare genügt oft bereits das bei Typo3 mitgelieferte „Mailform“. Eine große Herausforderung ist jedoch oft, wie man es anpasst.

Hier ein Vorschlag, der dann durch eigene Vorstellungen ersetzt/ergänzt werden kann.

Template-Setup

Zunächst definieren wir Weiterleitungen, CSS-Klassen und einige Basis-Infos (Vorsicht beim Kopieren über die Zwischenablage – ev. werden Sonderzeichen verändert):

## Layout für Kontakt-Formular
tt_content.mailform.20 {  
  accessibility = 1  
  noWrapAttr=1  
  formName = mailform  
  dontMd5FieldNames = 1  
  REQ = 1  
  //layout = <div>###LABEL### ###FIELD###</div>  <-- in neuer Version nicht mehr!
  //COMMENT.layout = <div>###LABEL###</div>    <-- in neuer Version nicht mehr 
  ### doppeltes LABEL  
  // RADIO.layout = <div>###LABEL### ###FIELD###</div>  
  RADIO.layout = <div class="radiolayout">###FIELD###</div>     
  LABEL.layout = <div>###LABEL### ###FIELD###</div>     
  ### Möglichkeit die Input Felder nebeneinander sauber darzustellen  
  //labelWrap.wrap = <div style="width:100px; float:left;">|</div>  
  labelWrap.wrap = <div>|</div>     
  commentWrap.wrap = |
  !>### nach jeden Optionsfeld ein Umbruch, lässt man den weg, sind die Optionsfelder nacheinander  
  radioWrap.wrap = |<br />     
  ### Das selbe gilt für benötigte Felder in Formularen  
  REQ.labelWrap.wrap = <div>|</div>  
  stdWrap.wrap =  <div class="formular">|</div>
  ### Fehlermeldung anpassen
  badMess = Diese Felder müssen ausgefüllt werden:
  ### Ziel-Seite nach Versenden des Formulars (wenn nicht im PlugIn definiert):
  #target = _self
  #type = 47
  ### CSS-Klassen um jedes Element legen
  params >  
  params.input = class="mf-input"  
  params.password = class="mf-pass"  
  params.textarea = class="mf-text"  
  params.check = class="mf-check"  
  params.radio = class="mf-radio"  
  params.select = class="mf-select"  
  params.file = class="mf-file"  
  params.reset = class="mf-reset"  
  params.submit = class="mf-submit"
}

Dann binden wir auch noch eine CSS-Datei ein:

# CSS-Datei für mailform anhängen
page.includeCSS {
  file1 = fileadmin/templates/styles/montechristo_mailform_styles_01.css
}

CSS-Datei

Diese bezieht sich auf die angegebenen Klassen:

@charset "utf-8";
/* CSS Document */
 
legend {padding-left:10px;padding-right:10px;border: 0px;}
fieldset {border:0px;padding-left:10px;padding-right:10px;padding-top:10px;padding-bottom:10px;}
.radiolayout {width:60%;padding-top:15px;padding-bottom:15px;}
.formular {width:80%;padding-top:10px;padding-bottom:10px;padding-left:10px;border: 1px solid #C0C0C0;}
.mf-radio {border:0px;}.mf-text {color: #000000;border: 1px solid #C0C0C0;margin-bottom: 5px;}
.mf-check {border: 0px;}.mf-select {border:0px;}.mf-input {border: 1px solid #C0C0C0;margin-bottom: 5px;}
.mf-submit {color: #ffffff;background-color: #C0C0C0;border: 0px;}

Fehlerbeseitigung

Eine Lösung für den Fehler

Fehler: Address in mailbox given @localhost does not comply with RFC 2822, 3.6.2. beim Newsletterversand mit Direct Mail.

findet sich hier:

Ev. liegt es auch daran, dass bei den Erweiterten Eigenschaften des PlugIns und im TypoScript keine Empfängeradresse angegeben wurde!?

Quellen

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne

Loading…
Avatar von manuel

AUTOR

manuel