[Frage] Verlinkung im HMENU: Text als Upper, href als Lower TYPO3-Version: 7.6.14

  • getit getit
    Jedi-Ritter
    0 x
    137 Beiträge
    4 Hilfreiche Beiträge
    20. 12. 2016, 18:41

    Ich möchte als Verlinkung den Text einmal als UPPER und einmal als LOWER.

    Also sowas: <a href="#abc">ABC</a>

    Also im href LOWER und im Titel als UPPER.

    Ich bekomme das mit folgendem Script hin, das der Titel UPPER ist, bekomme es aber nicht hin das im href nochmal als LOWER hinzuschreiben

    1. lib.tabbox = HMENU
    2. lib.tabbox {
    3. special = directory
    4. special.value = 135
    5.  
    6. 1 = TMENU
    7. 1 {
    8. wrap = <div id="tabbox" class="hidden-xs">|</div>
    9. innerWrap = <ul class="nav nav-tabs" role="tablist">|</ul>
    10. innerWrap2 = <div class="row">|</div>
    11. wrap = <div class="container">|</div>
    12. stdWrap.wrap = |<div class="tab-content"></div>
    13. }
    14.  
    15. NO = 1
    16. NO {
    17. wrapItemAndSub = <li class="slick-slide" role="presentation">|</li>
    18. ATagParams = role="tab" data-toggle="tab"
    19. stdWrap.case = upper
    20. doNotLinkIt = 1
    21. stdWrap.field = title
    22. allWrap = <!!=|>|</a>
    23. }
    24. }
    25. }

    Bisher siehts so aus:
    <a href="#">SOFTWARE</a>

    Und ich brauche das so:
    <a href="#software">SOFTWARE</a>

    Geht das?


  • 1
  • jenses jenses
    Flash Gordon
    0 x
    3087 Beiträge
    106 Hilfreiche Beiträge
    21. 12. 2016, 07:03

    Mit deiner Anweisung doNotLinkIt=1 unterbindest du ja komplett die standardmäßige Verlinkung der Menüeinträge.
    Wenn das so gewollt ist, mußt du das Verlinken selbst übernehmen,
    sinnvollerweise mit Hilfe der Funktion [url=https://www.typo3.net/tsref/functions/typolink/]typolink[/url]

  • getit getit
    Jedi-Ritter
    0 x
    137 Beiträge
    4 Hilfreiche Beiträge
    21. 12. 2016, 11:08

    Mit deiner Anweisung doNotLinkIt=1 unterbindest du ja komplett die standardmäßige Verlinkung der Menüeinträge.

    Das habe ich so gemacht, da es mir sonst nicht gelungen ist das href-Attribut zu beinflussen.
    Wenn du eine Möglichkeit hast das mit der Standardmäßigen Verlinkung hinzubekommen, wäre ich dankbar wenn du mir zeigst wie.

    Außerdem bleibt dann immer noch das Problem mit der Groß- und Kleinschreibung.

  • 0 x
    3181 Beiträge
    151 Hilfreiche Beiträge
    21. 12. 2016, 16:24

    Wenn Du eh die Verlinkung schonr ausnimmst, dann wäre es vermutlich der schnellste Weg, den gesamten (neuen) Menüeintrag selbst zu bauen:

    1. doNotLinkIt = 1

    Da kannst Du Link-Tag und Linktext separat voneinander beliebig bauen.

    Weitere Idee, um es zu vereinfachen wäre (zumindest für den Text) noch CSS:
    text-transform: uppercase;

  • getit getit
    Jedi-Ritter
    0 x
    137 Beiträge
    4 Hilfreiche Beiträge
    21. 12. 2016, 17:22

    Gute Idee!
    Hab das jetzt so:

    1. NO = 1
    2. NO {
    3. doNotLinkIt = 1
    4. 10 = TEXT
    5. 10.value = <li class="slick-slide" role="presentation"><a href="#
    6.  
    7. 20 = TEXT
    8. 20.stdWrap.case = lower
    9. 20.stdWrap.field = title
    10.  
    11. 30 = TEXT
    12. 30.value = ">
    13.  
    14. 40 = TEXT
    15. 40.stdWrap.case = upper
    16. 40.stdWrap.field = title
    17.  
    18. 50 = TEXT
    19. 50.value = </a></li>
    20. }
    21. }

    Das resultierende Markup ist zu Mindest wie gewünscht.

    Ist das okay - wie gehts besser?

  • 0 x
    3181 Beiträge
    151 Hilfreiche Beiträge
    22. 12. 2016, 11:20

    Okay ist, was funktioniert ;)

    Ist manchmal etwas Geschmackssache, manchmal eine Frage, wie extrem Du Performance berücksichtigen musst (wenn's gecacht wird, ist aber eh wieder fast egal).

    Persönlich würde ich versuchen öffnende und schließende Tags zusammenzufassen an eine Stelle (<li></li>).
    Deine Texte solltest Du auch ohne zustätzlichen stdWrap bekommen, da TEXT bereits direkt stdWrap-Eigenschaften hat.
    Und zu guter letzt ließen sich 10, 20, 30 zusammenfassen, indem Du einen wrap benutzt.

    1. NO = 1
    2. NO {
    3. doNotLinkIt = 1
    4. wrap = <li class="slick-slide" role="presentation">|</li>
    5.  
    6. 10 = TEXT
    7. 10.case = lower
    8. 10.field = title
    9. 10.wrap = <!!=|>
    10.  
    11. 20 = TEXT
    12. 20.case = upper
    13. 20.field = title
    14.  
    15. 30 = TEXT
    16. 30.value = </a>
    17. }
    18. }

  • getit getit
    Jedi-Ritter
    0 x
    137 Beiträge
    4 Hilfreiche Beiträge
    22. 12. 2016, 20:02

    Cool danke :D

    Das sieht doch schon viel besser aus.

  • 1