[TYPO3-german] Formhandler - 2 Sprachen - Conditions und Email

Christian Leicht usenet at schani.com
Tue Sep 8 20:34:27 CEST 2015


Hallo,

ich benutze Formhandler um ein Kontaktformular auf einer Seite zu 
erstellen. Die Seite ist über 2 Domains zu erreichen domain.de und 
domain.com. Die .de gibt eine deutsche Formular aus und die .com 
natürlich englisch. Soweit funktioniert das auch, nur das die Emails des 
Englischen Formulars nicht zugestellt werden.

Über die Conditions wird zwischen deutsch und englisch umgeschalten, was 
auch funktioniert da das templateFile auch umgeschalten wird.

Die Emails der englischen Version gehen an den Webmaster des Servers und 
kommen auch vom Webmaster. Also werden die Variablen des Finisher_Mail 
´s nicht gesetzt.

Oder liegt es evtl. doch an den Conditions ? Glaube ich aber nicht.

Könnt Ihr mir Bitte einen Tipp geben.
Besten Dank für Hilfe

Christian




Verwendet wird TYPO3 6.2.15 und aktueller Formhandler
Hier mal der TYPOSCRIPT Code:

[globalString = IENV:HTTP_HOST = www.Domain.de, IENV:HTTP_HOST = Domain.de]
####################################################### DEUTSCH
plugin.Tx_Formhandler.settings {
   debug = 0

   templateFile = fileadmin/Templates/formhandler/contactform-de.html
   formValuesPrefix = formhandler
   formID = formhandler-file
   name =  Store Uploaded Files Form

   singleFileMarkerTemplate {
		totalWrap = <div class="row"><div class="col-sm-3"></div><div 
class="col-sm-9"><span 
class="uploadedfiles-label">###LLL:uploadedFiles###</span><ul 
class="fileupload-list">|</ul></div></div>
		singleWrap = <li>|</li>
		showThumbnails = 0
    }

files {
	# Path to upload the files to (must exist!)
	uploadFolder = uploads/formhandler/

	# Allows the user to remove a previously uploaded file
	enableAjaxFileRemoval = 0
	# The default value of the link to remove a file would be "X".
	customRemovalText = TEXT
	customRemovalText {
		value = 
{$formhandlerExamples.file-upload.store-uploaded-files.rootPath}/skin/images/delete.png
		wrap = <img src="|" />
	}
	}

validators {
     1 {
       class = Validator_Default
       disable = 0
       config.fieldConf {
         email.errorCheck {
           1 = required
           2 = email
         }
         anrede.errorCheck.1 = required
         nachname.errorCheck.1 = required
         vorname.errorCheck.1 = required
         strasse.errorCheck.1 = required
         hausnummer.errorCheck.1 = required
         plz.errorCheck.1 = required
         ort.errorCheck.1 = required
         land.errorCheck.1 = required
         telefon.errorCheck.1 = required
         beschreibung.errorCheck.1 = required
         file.errorCheck {			
		# Allow only the configured file extensions
		1 = fileAllowedTypes
		1.allowedTypes = pdf,doc,docx,jpg,png
		# Max size of a file 5MB
		2 = fileMaxSize
		2.maxSize = 52428800
		# Max 3 files are allowed to be uploaded though this upload field
		3 = fileMaxCount
		3.maxCount = 3
	}
       }
     }
   }

saveInterceptors.1 {
   # This Interceptor will check if the user needed at least 4 seconds 
to fill out the form. If not, the user gets redirected to a "SPAM 
detected" page.
   class = Interceptor_AntiSpamFormTime
   config {
     minTime {
       value = 4
       unit = seconds
       }
      redirectPage = 60
     }
   }

  markers.myMarker_1 = TEXT
  markers.myMarker_1 {
    data = date:U
    strftime = %d.%m.%Y um %H:%M Uhr
    }

finishers {

   1.class = Finisher_Mail
   1.config {
     checkBinaryCrLf = message
     admin {
       sender_email = info at Domain.com
       to_email = info at Domain.com
       bcc_email = christian at Domain.de
       attachment = file
       subject = COA
       subject {
         10 = TEXT
         10.value = Kontaktformular
         50 = COA
         50 {
           stdWrap.noTrimWrap = | von: ||
           10 = TEXT
           10 {
             data = GP:formhandler|vorname
           }
           20 = TEXT
           20 {
             data = GP:formhandler|nachname
             noTrimWrap = | ||
           }
           30 = TEXT
           30.value = am
           30.noTrimWrap = | | |

           40 = TEXT
           40.data = date : U
           40.strftime = %A, %e. %B %Y
         }
       }
     }
     user {
       sender_email = info at Domain.com
       to_email = email
       subject = TEXT
       subject.value= Ihre Anfrage an Domain Betreiber
     }
   }

     ## Datei weiterverarbeiten
     2.class = Finisher_StoreUploadedFiles
     2.config {
     	renameScheme = [pid]_[time]_[filename]
	finishedUploadFolder = fileadmin/DateienUpload/
	}




         ## Nach TT_Address eintragen
    3.class = Tx_Formhandler_Finisher_DB
    3.config {
     table = tt_address
     key = uid
     fields {
       pid = 52
       title.mapping = anrede
       last_name.mapping = nachname
       first_name.mapping = vorname
       address.mapping = strasse
       building.mapping = hausnummer
       city.mapping = ort
       zip.mapping = plz
       country.mapping = land
       phone.mapping = telefon
       fax.mapping = fax
       description.mapping = beschreibung
       email.mapping = email
       tstamp.special = sub_tstamp

       }
     }

         ## Nach FE USERS eintragen
    4.class = Tx_Formhandler_Finisher_DB
   4.config {
     table = fe_users
     key = uid
     fields {
       pid = 41
       title.mapping = anrede
       last_name.mapping = nachname
       first_name.mapping = vorname
       address.mapping = strasse
       #building.mapping = hausnummer
       city.mapping = ort
       zip.mapping = plz
       country.mapping = land
       telephone.mapping = telefon
       fax.mapping = fax
       #description.mapping = beschreibung
       email.mapping = email
       tstamp.special = sub_tstamp
       #username.mapping = nachname
       crdate.special = sub_tstamp
       }
     }


       5 {
           class = Tx_Formhandler_Finisher_SubmittedOK
           config.returns = 1
       }
   }


isErrorMarker {
     global = Ein Fehler ist aufgetreten
     default = class="alert alert-danger"
     anrede = TEXT
     anrede.value = <div class="alert alert-danger">Bitte geben Sie eine 
Anrede an</div>

     nachname = TEXT
     nachname.value = <div class="alert alert-danger">Bitte geben Sie 
einen Nachnamen an</div>

     vorname = TEXT
     vorname.value = <div class="alert alert-danger">Bitte geben Sie 
einen Vornamen an</div>

     strasse = TEXT
     strasse.value = <div class="alert alert-danger">Bitte geben Sie 
eine Straße an</div>

     hausnummer = TEXT
     hausnummer.value = <div class="alert alert-danger">!!!</div>

     plz = TEXT
     plz.value = <div class="alert alert-danger">!!!</div>

     ort = TEXT
     ort.value = <div class="alert alert-danger">Bitte geben Sie einen 
Ort an</div>

     land = TEXT
     land.value = <div class="alert alert-danger">Bitte geben Sie ein 
Land an</div>

     telefon = TEXT
     telefon.value = <div class="alert alert-danger">Bitte geben Sie 
Ihre Telefonnummer an</div>

     email = TEXT
     email.value = <div class="alert alert-danger">Bitte geben Sie eine 
gültige E-Mail Adresse ein</div>

     beschreibung = TEXT
     beschreibung.value = <div class="alert alert-danger">Bitte geben 
Sie uns eine detaillierte Beschreibung</div>

   }

}

[ELSE]





####################################################### ENGLISH

plugin.Tx_Formhandler.settings {
   debug = 0

   templateFile = fileadmin/Templates/formhandler/contactform-en.html
   formValuesPrefix = formhandler

validators {
     1 {
       class = Validator_Default
       disable = 0
       config.fieldConf {
         email.errorCheck {
           1 = required
           2 = email
         }
         anrede.errorCheck.1 = required
         nachname.errorCheck.1 = required
         vorname.errorCheck.1 = required
         strasse.errorCheck.1 = required
         #hausnummer.errorCheck.1 = required
         #plz.errorCheck.1 = required
         ort.errorCheck.1 = required
         land.errorCheck.1 = required
         telefon.errorCheck.1 = required
         beschreibung.errorCheck.1 = required
       }
     }
   }

saveInterceptors.1 {
   # This Interceptor will check if the user needed at least 4 seconds 
to fill out the form. If not, the user gets redirected to a "SPAM 
detected" page.
   class = Interceptor_AntiSpamFormTime
   config {
     minTime {
       value = 4
       unit = seconds
       }
      redirectPage = 60
     }
   }



  markers.myMarker_1 = TEXT
  markers.myMarker_1 {
    data = date:U
    strftime = %d.%m.%Y um %H:%M Uhr

    }


finishers {
   1.class = Finisher_Mail
   1.config {
     checkBinaryCrLf = message
     admin {
       sender_email = info at Domain.com
       to_email = info at Domain.com
       bcc_email = christian at Domain.de

       subject = COA
       subject {
          10 = TEXT
         10.value = Kontaktformular

         50 = COA
         50 {
           stdWrap.noTrimWrap = | von: ||
           10 = TEXT
           10 {
             data = GP:formhandler|vorname
           }
           20 = TEXT
           20 {
             data = GP:formhandler|nachname
             noTrimWrap = | ||
           }
           30 = TEXT
           30.value = am
           30.noTrimWrap = | | |

           40 = TEXT
           40.data = date : U
           40.strftime = %A, %e. %B %Y
         }
       }
     }
     user {
       sender_email = info at Domain.com
       to_email = email
       subject = TEXT
       subject.value= Your request to Domain Betreiber
       ##attachment = 
fileadmin/Templates/formhandler/AGB-Domain-Englisch.pdf
     }
   }

         ## Nach TT_Address eintragen
    3.class = Tx_Formhandler_Finisher_DB
   3.config {
     table = tt_address
     key = uid
     fields {
       pid = 52
       title.mapping = anrede
       last_name.mapping = nachname
       first_name.mapping = vorname
       address.mapping = strasse
       building.mapping = hausnummer
       city.mapping = ort
       zip.mapping = plz
       country.mapping = land
       phone.mapping = telefon
       fax.mapping = fax
       description.mapping = beschreibung
       email.mapping = email
       tstamp.special = sub_tstamp

       }
     }

         ## Nach FE USERS eintragen
    4.class = Tx_Formhandler_Finisher_DB
    4.config {
      table = fe_users
      key = uid
      fields {
        pid = 41
        title.mapping = anrede
        last_name.mapping = nachname
        first_name.mapping = vorname
        address.mapping = strasse
        #building.mapping = hausnummer
        city.mapping = ort
        zip.mapping = plz
        country.mapping = land
        telephone.mapping = telefon
        fax.mapping = fax
        #description.mapping = beschreibung
        email.mapping = email
        tstamp.special = sub_tstamp
       #username.mapping = nachname
        crdate.special = sub_tstamp
       }
     }


       5 {
           class = Tx_Formhandler_Finisher_SubmittedOK
           config.returns = 1
       }
   }


isErrorMarker {
     global = Ein Fehler ist aufgetreten
     default = class="alert alert-danger"
     anrede = TEXT
     anrede.value = <div class="alert alert-danger">Please insert your 
Title</div>

     nachname = TEXT
     nachname.value = <div class="alert alert-danger">Please insert your 
Last name</div>

     vorname = TEXT
     vorname.value = <div class="alert alert-danger">Please insert your 
First name</div>

     strasse = TEXT
     strasse.value = <div class="alert alert-danger">Please insert your 
Address</div>

     hausnummer = TEXT
     hausnummer.value = <div class="alert alert-danger">!!!</div>

     plz = TEXT
     plz.value = <div class="alert alert-danger">!!!</div>

     ort = TEXT
     ort.value = <div class="alert alert-danger">Please insert your 
City</div>

     land = TEXT
     land.value = <div class="alert alert-danger">Please insert your 
Country</div>

     telefon = TEXT
     telefon.value = <div class="alert alert-danger">Please insert your 
Phonenumber</div>

     email = TEXT
     email.value = <div class="alert alert-danger">Please insert your 
E-Mail Address</div>

     beschreibung = TEXT
     beschreibung.value = <div class="alert alert-danger">Please insert 
a detailed description</div>

   }

}

[GLOBAL]


More information about the TYPO3-german mailing list