Die Extension die Tim gestern im Türchen 4 vorgestellt hat, kannte ich auch noch nicht. Für Euch habe ich heute wieder etwas TypoScript. Das Thema Semantic Web wird inzwischen immer interessanter, darum kam ich auf die Idee - fast allein mit TypoScript - das bekannte hCard-Microformat in TYPO3 zu integrieren.

Was wir dafür brauchen ist eine eigene kleine Extension, diese benötigen wir lediglich für eine einzige Zeile Code, welche in die Datei ext_tables.php kommt:

  1. t3lib_extMgm::addToInsertRecords('fe_users');

Dazu jetzt noch das TypoScript:

  1. temp.hcard = COA
  2. temp.hcard {
  3. wrap =
  4. <div id="hcard" class="vcard">|</div>
  5.  
  6. 10 = IMAGE
  7. 10.file {
  8. import = uploads/pics/
  9. import.field = image
  10. width = 40
  11. params = class="photo"
  12. }
  13. 20 = TEXT
  14. 20.field = name
  15. 20.typolink.parameter.field = url
  16. 20.typolink.ATagParams = class="url fn"
  17. 30 = TEXT
  18. 30.field = company
  19. 30.wrap =
  20. <div class="org">|</div>
  21.  
  22. 40 = TEXT
  23. 40.field = email
  24. 40.typolink.parameter.field = email
  25. 40.typolink.ATagParams = class="email"
  26. 50 = COA
  27. 50 {
  28. wrap =
  29. <div class="adr">|</div>
  30.  
  31. 10 = TEXT
  32. 10.field = address
  33. 10.wrap =
  34. <div class="street-address">|</div>
  35.  
  36. 20 = TEXT
  37. 20.field = city
  38. 20.wrap = <span class="locality">|</span>
  39. 30 = TEXT
  40. 30.field = zip
  41. 30.wrap = <span class="postal-code">|</span>
  42. 40 = TEXT
  43. 40.field = country
  44. 40.wrap = <span class="country-name">|</span>
  45. }
  46. 60 = TEXT
  47. 60.field = telephone
  48. 60.wrap =
  49. <div class="tel">|</div>
  50.  
  51. }
  52.  
  53. // fe_users dem type shortcut hinzufügen
  54. tt_content.shortcut.20.0.tables = fe_users
  55. // für Tabelle fe_users sagen wir jetzt noch wie es gerendert werden soll.
  56. tt_content.shortcut.20.0.conf.fe_users < temp.hcard
  57.  

Und was hat uns das jetzt gebracht? Ganz einfach:

  1. Wir haben das Content Element "Insert Record" um die Tabelle fe_users erweitert.
  2. Wir haben mit dem TypoScript aus dem Object "temp.hcard" eine komplette hCard definiert, welche jetzt mit meinem fe_user Datensatz befüllt werden kann.
  3. Durch die CSS-Klassen kann man die Visitenkarte nun auch noch schön aussehen lassen.

Sind alle Daten vorhanden, könnte der erzeugte HTML-Code dann so aussehen:

  1.  
  2. <div id="hcard" class="vcard">
  3. <img style="float:left; margin-right:4px" src="http://typo3weblog.de/frank.png" alt="photo of " class="photo"/>
  4. <a class="url fn" href="http://typo3weblog.de">Frank Nägler</a>
  5. <div class="org">TYPO3Weblog.de</div>
  6.  
  7. <a class="email" href="mailto:frank.naegler@e-netconsulting.rl">frank.naegler@e-netconsulting.rl</a>
  8. <div class="adr">
  9. <div class="street-address">Sievekingsallee 150b</div>
  10.  
  11. <span class="locality">Hamburg</span>
  12. <span class="postal-code">22111</span>
  13. <span class="country-name">Deutschland</span>
  14. </div>
  15. <div class="tel">+49 (0)7000 623 45 37</div>
  16. </div>
  17.  

Cool oder?

Die komplette Extension fn_hcard als T3X Export habe ich hier für Euch zum Download.