Fehlersuche: Menupunkte direkt auf nicht http:// Ziele [Gelöst]

  • rlp_immigrant rlp_immig...
    Padawan
    0 x
    58 Beiträge
    0 Hilfreiche Beiträge
    15. 06. 2012, 08:39

    Hallo zusammen,

    ich arbeite gerade an unserem Intranet. Vom Intranet aus sollen verschiedene lokale Ziele verlinkt werden. Diese sind teilweise über ftp://, file:// und dms:// zu erreichen.

    Nun möchte ich Typo3 dazu bringen diese Linkziele im Menu auch [b]direkt[/b] zu verlinken.
    Dazu habe ich zuerst das TCA erweitert damit man im Backend die entsprechenden Schemen (Protokolle) auswählen kann.

    1. $GLOBALS['TCA']['pages']['columns']['urltype']['config']['items']['5']['0'] = 'file://';
    2. $GLOBALS['TCA']['pages']['columns']['urltype']['config']['items']['5']['1'] = 5;
    3. $GLOBALS['TCA']['pages']['columns']['url_scheme']['config']['items']['3']['0'] = 'file://';
    4. $GLOBALS['TCA']['pages']['columns']['url_scheme']['config']['items']['3']['1'] = 5;
    5. $GLOBALS['TCA']['pages']['columns']['urltype']['config']['items']['6']['0'] = 'dms://';
    6. $GLOBALS['TCA']['pages']['columns']['urltype']['config']['items']['6']['1'] = 6;
    7. $GLOBALS['TCA']['pages']['columns']['url_scheme']['config']['items']['4']['0'] = 'dms://';
    8. $GLOBALS['TCA']['pages']['columns']['url_scheme']['config']['items']['4']['1'] = 6;

    Funktioniert auch wunderbar. Ich kann auf der DB sehen das die entsprechende Werte auch gespeichert werden.

    Das Typoscript für unser Menu habe ich leicht angepasst:

    1. 1 {
    2. wrap = <ul>|</ul>
    3. expAll = 0
    4. noBlur = 1
    5.  
    6. NO = 1
    7. NO {
    8. ATagTitle {
    9. field = title
    10. fieldRequired = nav_title
    11. }
    12. wrapItemAndSub = <li>|</li>
    13. field = title
    14. #Je nach URL Type Schema (Protokoll) wechseln
    15. key.field = urltype
    16. 1 = COA
    17. # 1. Element enthält die direkte Verlinkung für den fall das keine URL gesetzt wurde
    18. 1.1 = TEXT
    19. 1.1{
    20. field = title
    21. doNotLinkIt = 1
    22. if {
    23. isFalse.field = url
    24. }
    25. }
    26. # 2. Element enthält indirekte Verlinkung wenn URL vorhanden
    27. 1.2 = TEXT
    28. 1.2{
    29. field = title
    30. typolink.parameter.field = url
    31. typolink.extTarget.field = target
    32. typolink.forceAbsoluteUrl=1
    33. typolink.forceAbsoluteUrl.scheme = http
    34. doNotLinkIt = 1
    35. if {
    36. isFalse.field = url
    37. negate = 1
    38. }
    39. }
    40.  
    41. 2 < .1
    42. 2.2.typolink.forceAbsoluteUrl.scheme = ftp
    43. 3 < .2
    44. 3.2.typolink.forceAbsoluteUrl.scheme = mailto
    45. 4 < .2
    46. 4.2.typolink.forceAbsoluteUrl.scheme = https
    47. 5 < .2
    48. 5.2.typolink.forceAbsoluteUrl.scheme = file
    49. 6 < .2
    50. 6.2.typolink.forceAbsoluteUrl.scheme = dms
    51. }
    52. }
    53. }

    Das merkwürdige ist nun das nur die Umschaltung von http:// auf file:// funktioniert. Alle anderen nicht.
    Ich habe auch festgestellt das in 5.2 das Schema auf irgendwas anpassen kann und es funktioniert (z.b. test://). Alle anderen Elemente funktionieren nicht.

    Sieht jemand den Fehler?

    Danke und Grüße
    Alex


  • 1
  • rlp_immigrant rlp_immig...
    Padawan
    0 x
    58 Beiträge
    0 Hilfreiche Beiträge
    15. 06. 2012, 09:25

    Ok, selber googeln macht schlau ;)
    Bin über eine [url=http://lists.typo3.org/pipermail/typo3-english/2008-June/050766.html]Nachricht[/url] in ner Mailinglist gestolpert welche mir als Grundlage gedient hat.

    Der Vollständigkeit halber hier die Lösung.

    1. NO {
    2. ATagTitle {
    3. field = title
    4. fieldRequired = nav_title
    5. }
    6. wrapItemAndSub = <li>|</li>
    7. key.field = doktype
    8. default = TEXT
    9. default{
    10. field = title
    11. typolink.parameter.data = field:uid
    12. }
    13. # Doktype 3 = externer Link
    14. 3=COA
    15. 3 {
    16. # Textblock für HTTP-Links (Wert 1)
    17. 10 = TEXT
    18. 10 {
    19. field = title
    20. typolink.parameter.data >
    21. typolink.parameter.dataWrap = http://{field:url}
    22. typolink.ATagBeforeWrap=1
    23. if {
    24. value=1
    25. equals.field=urltype
    26. }
    27. }
    28. # Textblock für HTTPS-Links (Wert 4)
    29. 20 < .10
    30. 20 {
    31. typolink.parameter.dataWrap = https://{field:url}
    32. if.value = 4
    33. }
    34. # Textblock für FTP-Links (Wert 2)
    35. 30 < .10
    36. 30 {
    37. typolink.parameter.dataWrap = ftp://{field:url}
    38. if.value = 2
    39. }
    40. # Textblock für Mailto-Links (Wert 3)
    41. 40 < .10
    42. 40 {
    43. typolink.parameter.dataWrap = mailto://{field:url}
    44. if.value = 3
    45. }
    46. # Textblock für file-Links (Wert 5)
    47. 50 < .10
    48. 50 {
    49. typolink.parameter.dataWrap = file://{field:url}
    50. if.value = 5
    51. }
    52. # Textblock für DMS-Links (Wert 6)
    53. 60 < .10
    54. 60 {
    55. typolink.parameter.dataWrap = dms://dmsexplorer/idlist=I{field:url}
    56. if.value = 6
    57. }
    58. }
    59. }
    60. doNotLinkIt = 1
    61. }

    Vielleicht kann es ja jemand gebrauchen

  • 1