TYPO3 Formhandler Extension

8,373 views

Published on

Kurzvortrag über die Einsatzmöglichkeiten von der TYPO3 Extension "Formhandler"

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
8,373
On SlideShare
0
From Embeds
0
Number of Embeds
382
Actions
Shares
0
Downloads
14
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

TYPO3 Formhandler Extension

  1. 1. FormhandlerTYPO3 Usergroup Bodensee #3tsee11. Oktober 2012 - Singen (D)Lars Messmer - comsolit AG www.comsolit.com Formhandler Version: 1 Seite 1 / 15
  2. 2. Vorteile• Solid programmiert, MVC Architektur• Immenser Funktionsumfang• Sehr gute Integration in andere Extension• Geeignet für komplexere Aufgabenstellungen• Kann eigentlich alles• Gut dokumentiert, mit Examples• Wird stetig weiter entwickeltNachteile• Man muss sich zuerst etwas einarbeiten• Kein grafisches Backendmodul www.comsolit.com Formhandler Version: 1 Seite 2 / 15
  3. 3. Im Einsatz www.comsolit.com Formhandler Version: 1 Seite 3 / 15
  4. 4. Im Einsatz www.comsolit.com Formhandler Version: 1 Seite 4 / 15
  5. 5. Im Einsatz www.comsolit.com Formhandler Version: 1 Seite 5 / 15
  6. 6. Templating langFile.1 = TEXT langFile.1 = {$PATH.mailform}formularLang.xml templateFile = TEXT templateFile = {$PATH.mailform}formular.html masterTemplateFile.1 = TEXT masterTemplateFile.1.value = {$PATH.mailformtemplates}masterFormularGlobal.html masterTemplateFile.2 = TEXT masterTemplateFile.2.value = {$PATH.mailformtemplates}masterFormularFields.htmlSubparts Sprachmarker ###LLL:vorname### Diverse interessante Marker ###TEMPLATE_ANTISPAM### ###CAPTCHA### ###TEMPLATE_PDF### ###REL_URL### ###total_uploadedFiles### ###IF_[FIELDNAME]=[value]### ...Includes settings.additionalIncludePaths.1 = typo3conf/ext/myExtension/hooks/ ... www.comsolit.com Formhandler Version: 1 Seite 6 / 15
  7. 7. TemplatingMastertemplate (HTML) <!-- ###master_input_small### --><div class=“row“> <div class=“three columns“> <label for=“###fieldname###“>###LLL:###fieldname###### ###required_###fieldname######</label> </div> <div class=“nine columns“> <input class=“small input-text“ type=“text“ size=“30“ id=“###fieldname###“ name=“###formValuesPrefix###[###fieldname###]“value=“###value_###fieldname######“/> ###error_###fieldname###### <div class=“one columns sign“> ###validate_###fieldname###### </div> </div></div><!-- ###master_input_small### -->Language File (XML)<?xml version=“1.0“ encoding=“utf-8“ standalone=“yes“ ?><T3locallang> <data type=“array“> <languageKey index=“default“ type=“array“> <label index=“required“>Felder mit * sind Pflichtfelder!</label> <label index=“title“>Anrede</label> <label index=“choose“>Bitte wählen</label> <label index=“ms“>Frau</label> <label index=“mr“>Herr</label> ... www.comsolit.com Formhandler Version: 1 Seite 7 / 15
  8. 8. TemplatingFormtemplate (HTML)<!-- ###TEMPLATE_FORM1### begin -->###master_multipart-form-start_contact-form### ###master_spamprotection-timecheck### ###master_section-start### ###master_information_required### ###master_input_small_title### ###master_input_small_name### ###master_input_small_e-mail### ... ###master_submit### ###master_section-end######master_multipart-form-end_contact-form###<!-- ###TEMPLATE_FORM1### -->E-Mail template (HTML)<!-- ###TEMPLATE_EMAIL_ADMIN_PLAIN### -->###master_email-admin-start-plain###<!-- ###ISSET_title### -->###master_email-line-plain_title###<!-- ###ISSET_title### --><!-- ###ISSET_name### -->###master_email-line-plain_name###<!-- ###ISSET_name### -->...###master_email-admin-end-plain###<!-- ###TEMPLATE_EMAIL_ADMIN_PLAIN### -->(eigene Plain und HTML Parts) www.comsolit.com Formhandler Version: 1 Seite 8 / 15
  9. 9. PreprocessorpreProcessors { 1.class = Tx_Formhandler_PreProcessor_LoadDefaultValues 1.config { 1{ field.defaultValue = {$field.value} amount.defaultValue = {$amount.value} } } 2.class = Tx_FormhandlerPayment_PreProcessor_LoadSession 2.config { } }Markermarkers { marker = TEXT marker.value = {$value.marker} marker = CONTENT marker { table = static_countries ... renderObj = COA renderObj { 10 = TEXT 10.field = cn_iso_2 ... www.comsolit.com Formhandler Version: 1 Seite 9 / 15
  10. 10. Validatorsvalidators { 1{ class = Tx_Formhandler_Validator_Default config { fieldConf { title.errorCheck.1 = required email { errorCheck { 1 = required 2 = email 3 = isNotInDBTable 3{ table = fe_users field = email showHidden = 1 } } } # for an array of checkboxes documents.errorCheck { 1 = minItems 1.value = 2 } .... Error Wraps singleErrorTemplate { totalWrap = <div class“errorBox> | </span> singleWrap = <span class=“error“> | </span> } isErrorMarker { default = <img src=“{$PATH.img}errorSign.png“ /> } www.comsolit.com Formhandler Version: 1 Seite 10 / 15
  11. 11. Conditionsif { 1{ conditions { OR1.AND1 = radiofield = {$value.radioField} } isTrue { validators { 1{ .... } isFalse { validators { 1{ .... } www.comsolit.com Formhandler Version: 1 Seite 11 / 15
  12. 12. Interceptor # Order No. saveInterceptors.1.class = Tx_FormhandlerPayment_Interceptor_OrderId settings.saveInterceptors.1.config { ... } # Spam Protection saveInterceptors.2.class = Tx_Formhandler_Interceptor_AntiSpamFormTime settings.saveInterceptors.2.config { minTime.value = 1 minTime.unit = seconds maxTime.value = 1 maxTime.unit = hours redirectPage = {$PAGE.error} loggers.1.class = Tx_Formhandler_Logger_DB } # Payment Process saveInterceptors.3.class = Tx_FormhandlerPayment_Interceptor_Postfinance saveInterceptors.3.config { #transport: get / curl / post transport = get apiServer = https://e-payment.postfinance.ch/ncol/ # apiMode: test / prod apiMode = prod www.comsolit.com Formhandler Version: 1 Seite 12 / 15
  13. 13. Finisher # send E-Mail 1.class = Finisher_Mail 1.config { checkBinaryCrLf = message admin { templateFile = TEXT templateFile.value = {$PATH.mailformtemplates}emailAdmin.html ... # DmailSubscription 2.class = Tx_Formhandler_Finisher_DmailSubscription 2.config { NewsletterSysfolderId = {$PID.tt_addressFolder} ... # store in DB 3.class = Finisher_DB 3.config { table = tt_content key = uid fields { ... # Redirect 4.class = Finisher_Redirect 4.config { redirectPage = {$PID.redirectPage} } www.comsolit.com Formhandler Version: 1 Seite 13 / 15
  14. 14. Einsatzgebiet:• Normales Formular• Multistep Formular mit Conditions• Newsletter Registrierung• User Registrierung• User Login• Payment / Bestellformular• Seminaranmeldung• Datei Upload Formular• Datei Request Formular• Gästebuch• Kommentarformular• FAQ Formular• Feedback Formular• Fragebogen• ... www.comsolit.com Formhandler Version: 1 Seite 14 / 15
  15. 15. Links:Offizielle Seite mit Docu und Tutorials:http://www.typo3-formhandler.com/Forge:http://forge.typo3.org/projects/show/extension-formhandler/TER:http://typo3.org/extensions/repository/view/formhandler/#t3see - http://www.t3see.de/ www.comsolit.com Formhandler Version: 1 Seite 15 / 15

×