TYPO3 – Formhandler mit static info tables – selected_country

Mit dem Formhandler kann man auch komplette Länderlisten ins seinen Kontaktformular ausgeben, wie das geht erkläre ich Euch hier:

Hier der TypoScript-Code für den Formhandler:

plugin.Tx_Formhandler.settings.predef.test_kontakt {
  
  # GENERAL CONFIGURATION
  name = Test Kontakt
  addErrorAnchors = 1
  formValuesPrefix = formhandler
  
  # ERRORS LAYOUT
  singleErrorTemplate {
    totalWrap = <div>|</div>
    singleWrap = <span class=“error“>|</span><br />
  }
  
  errorListTemplate {
    totalWrap = <ul>|</ul>
    singleWrap = <li class=“error“>|</li>
  }
  
  #input select country
  markers {
    countries = CONTENT
    countries {
      table = static_countries
      select {
        pidInList = 0
        orderBy = cn_short_en
        selectFields = cn_short_en,cn_iso_3
        where = cn_eu_member = 1
      }
      
      renderObj = COA
      renderObj {
        #value
        10 = TEXT
        10.wrap = <option value=“|“
        10.field = cn_iso_3
        
        #selected
        12 = TEXT
        12.wrap = ###selected_country_|###>
        12.field = cn_iso_3
        
        #label
        13 = TEXT
        13.wrap = |</option>
        13.field = cn_short_en
      }
    }
  }
  
  # Validators configuration
  validators {
    1.class = Tx_Formhandler_Validator_Default
    1.config {
      fieldConf {
        # captcha system
        captchafield.errorCheck.1 = captcha
      }
    }
  }
  
  finishers {
    1.class = Tx_Formhandler_Finisher_Mail
    1.config {
      limitMailsToUser = 5
      admin {
      }
      user {
      }
    }
    2.class = Tx_Formhandler_Finisher_Redirect
    2.config {
    }
  }
}

somit liest der Formhandler die „static info tables“ in der Spalte „selceted country“ aus.
Um nun die Länderausgabe im Frontend zu zeigen, benötigt Ihr für das HTML Template folgenden Code:

            <div>
                ###error_country###
                <label for=“country“>###LLL:country### ###required_country###</label>
                <select id=“formhandler[country]“ name=“formhandler[country]“>
                    <option value=““>###LLL:country_select###</option>
                    ###countries###
                </select>
            </div>

Dies funktioniert natürlich auch mit dem Bundesland.

Eure Meinung zu dem Artikel ist gefragt! Schreibt mir ein Kommentar

Hat Euch der Artikel weitergeholfen oder gefallen?
Ich freue mich auf einen Blick auf meine Amazon-Wunschliste. Vielen Dank!

Hat Euch der Artikel weitergeholfen oder gefallen? Ich freue mich auf einen Blick auf meine Amazon-Wunschliste. Vielen Dank!Ich bin freiberuflicher TYPO3-Entwickler, Web-Entwickler und Frontend-Entwickler. Ich arbeite im und für das Web etwas mehr als 12 Jahre. Mehr Infos zu der TYPO3 Internetagentur - INGENIUMDESIGN.

Leave a Reply

1 Kommentar

  1. Willi

    Vielen Dank für die Inspiration! Erlaube mir einen kleinen Optimierungsvorschlag:
    renderObj = TEXT
    renderObj {
    field = cn_official_name_local
    dataWrap = |
    }

    oder auch

    renderObj = TEXT
    renderObj {
    value = {field:cn_official_name_local}
    insertData = 1
    }

    Ist etwas lesbarer 🙂

Next Article"Magento kompakt" Buch kostenlos lesen