TYPO3 und tt_address: schöne Konfigurationsoptionen

Adressdaten abzulegen und anzuzeigen gehört zu den wiederkehrenden Aufgaben eines TYPO3 Integrators. Wenn man dazu auf die altbewährte Extension tt_address zurückgreift, hat man ein paar schöne Konfigurationsoptionen zur Hand.

Das betrifft zum einen das Backend. Über das Seiten TSConfig kann man jedes der vorhandenen Felder umbenennen oder ausblenden. Hier ein Beispiel:

Umbenennungen:

TCEFORM.tt_address {
  birthday.label = Im Unternehmen seit:
  company.label = Sales Office:
  }

Ein- und Ausblenden:

TCEFORM.tt_address {
  gender.disabled = 1
  name.disabled = 1
  first_name.disabled = 0
  middle_name.disabled = 1
  last_name.disabled = 0
  birthday.disabled = 0
  title.disabled = 0
  address.disabled = 1
  building.disabled = 1
  room.disabled = 1
  phone.disabled = 0
  fax.disabled = 1
  mobile.disabled = 1
  www.disabled = 1
  email.disabled = 0
  company.disabled = 0
  city.disabled = 0
  zip.disabled = 1
  region.disabled = 1
  country.disabled = 1
  image.disabled = 0
  description.disabled = 1
  addressgroup.disabled = 0
  #module_sys_dmail_category.disabled = 1
  #module_sys_dmail_html.disabled = 1
}

Interessant ist das Feld „im Unternehmen seit“, weil es vorkommen kann, dass dieses Feld nicht befüllt wird und ergo auf der Website auch nicht angezeigt werden soll. Man benötigt also einen Suppart um den Teil im HTML Template, der das Datum ausgibt. Das Schöne ist nun, dass man per TypoScript für jedes Feld einen entsprechenden Suppart konfigurieren und dann im HTML Template ausgeben kann.

Das TypoScript dazu:

plugin.tx_ttaddress_pi1 {
    templatePath = fileadmin/template/html/
    defaultTemplateFileName = tt_address.html
    pidList = 123
    templates.default {
      ...
      subparts.bir.hasOneOf = birthday
      ...
  }
}

Und das HTML:

<div class="vcard">
  ...
  <!-- ###SUBPART_BIR### begin -->    
  <p>im Unternehmen seit: <span class="nowrap">###BIRTHDAY###</span></p>
  <!-- ###SUBPART_BIR### end -->  
  ...
  </div>
</div>

Zwei weitere Dinge sind gut zu wissen: Will man z.B. statt der E-Mail Adresse das Wort „E-Mail“ ausgeben, so kann man folgendes Typoscript verwenden:

plugin.tx_ttaddress_pi1 {
    ...
    templates.default {
      ...
      email.override = E-Mail
      email.typolink.parameter.field = email
      email.required = 1
      ...
  }
}

Was die korrekte Ausgabe des Datums angeht, so ist dieses hilfreich:

plugin.tx_ttaddress_pi1 {
    ...
    templates.default {
      ...
      birthday.strftime = %d.%m.%Y
      ...
  }
}