[Frage] Bestimmte Footermenüpunkte mit "und" trennen [Gelöst] TYPO3-Version: 10.4.17

  • 0 x
    9 Beiträge
    0 Hilfreiche Beiträge
    24. 06. 2021, 12:41

    Hallo zusammen,

    ich möchte ein Footermenü erstellen in dem die Menüpunkte mit "und" getrennt werden.
    Ich habe einen Screenshot angehängt, wie das Footermenü in der mobilen Version aussehen soll und wie die Struktur im Backend aussieht.

    Im Moment habe ich das Menü schon soweit, dass es aussieht wie ich möchte nur eben ohne das "und" zwischen Instagram und LinkedIn/Impressum und Datenschutz.

    Ich freue mich, wenn mir jemand weiterhelfen kann.
    Und falls ihr noch weitere Infos benötigt, sagt einfach Bescheid.

    Mein Code sieht momentan so aus:
    [code]lib.footermenu = COA
    lib.footermenu {
    wrap = <div class="footerbody">|</div>
    10 = COA
    10 {
    wrap = <div class="row" id="row1">|</div>

    10 = HMENU
    10 {
    special = directory
    special.value = 18

    1 = TMENU

    1.NO = 1
    1.NO.allWrap = <li><h2>|</h2></li>

    1.wrap = <ul>|</ul>

    }
    }

    20 < .10
    20.wrap = <div class="row" id="row2">|</div>
    20.10.special.value = 19

    30 < .10
    30.wrap = <div class="row" id="row3">|</div>
    30.10.special.value = 20

    40 = TEXT
    40 {
    wrap = <div class="row" id="row4"><h2>Copyright 2021 Anna Schunck.</h2></div>
    }
    }
    [/code]

  • 0 x
    9 Beiträge
    0 Hilfreiche Beiträge
    02. 07. 2021, 16:53 - Lösung

    Danke für die Hilfe. Ich habe tatsächlich kurz nachdem ich den Eintrag geschrieben habe für mich eine gute Lösung gefunden.

    [code]lib.footermenu = COA
    lib.footermenu {
    wrap = <div class="footerbody">|</div>
    10 = COA
    10 {
    wrap = <ul class="row">|</ul>

    10 = HMENU
    10 {
    special = directory
    special.value = 18

    1 = TMENU

    1.NO = 1
    1.NO.allWrap = <li>|</li>

    #1.wrap = <ul>|</ul>

    }
    }

    20 < .10
    20.wrap = <ul class="row">|</ul>
    20.10.special.value = 19
    20.10.1.NO.allWrap = <li class="und">|</li>|*|<li>|</li>

    30 < .10
    30.wrap = <ul class="row">|</ul>
    30.10.special.value = 20
    30.10.1.NO.allWrap = <li class="und">|</li>|*|<li>|</li>

    40 = TEXT
    40 {
    wrap = <div class="row"><h2>Copyright 2021<br>AnnaSchunck.</h2></div>
    }
    }
    [/code]

    und dann im CSS in der class="und"
    .und::after {
    content: " und ";
    }


  • 1
  • 0 x
    3252 Beiträge
    152 Hilfreiche Beiträge
    24. 06. 2021, 15:46

    Leider ist die Datei-Upload-Funktionalität des Forums seit Jahren kaputt... :-(

    Ohne Dein Bild ist aber dein problem nicht ganz verständlich, weil nicht erkennabr ist, welche Links aus welchem Teil deines COA-Objektes kommen, udn entsprechen wo das "und" rein soll.
    Kannst Du noch etwas mehr textlich erklären oder das Bild woanders bereitstellen und verlinken?

  • Teisinger Teisinger
    Jedi-Ratsmitglied
    0 x
    502 Beiträge
    37 Hilfreiche Beiträge
    28. 06. 2021, 16:18

    Bei TYPO3 10.4.x würde ich das sowieso mit FLUID machen und nicht mit TypoScript - ganz einfach weil FLUID so viel einfacher verständlich ist und du im Fall der Fälle immer noch deine eigenen ViewHelper nutzen kannst etc.

    Wenn du einfach nur ein "und" zwischen den Menüpunkten brauchst, könntest du das auch mit CSS lösen, stichwort ":after" bzw. ":before"

    Dann hättest du sowas wie:

    #meinMenü li:not(:last-child):after { ... content: "und"; ... }

    Ansonsten:
    1.NO.allWrap = <li><h2>|</h2>UND</li>

    https://github.com/groundstack-org

  • 0 x
    3252 Beiträge
    152 Hilfreiche Beiträge
    28. 06. 2021, 21:35

    Bei Fluid verteilt sich ein solcher Footer auf TypoScript (DataProcessors) und HTML/Fluid-Template. Damit ist zwar die Gestaltung verständlicher, die Übersichtlichkeit des Ganzen aber IMO schlechter, weil verteilt auf verschiedene Stellen.

    Im Fall der Fälle kann man bei TypoScript auch userFuncs nutzen.... Wo siehst Du da jetzt den große Vorteil der eigenen Viewhelper bei Fluid?

  • Teisinger Teisinger
    Jedi-Ratsmitglied
    0 x
    502 Beiträge
    37 Hilfreiche Beiträge
    30. 06. 2021, 14:41

    Ganz einfach weil "TypoScript" versteht sowieso kein Mensch - Außerdem ist das "Schnippsel" des DataProcessors immer das selbe egal wie das HTML/FLUID aussieht, das bedeutet es ist ein "copy and forget" Ding.

    Desweitern ist die Logik also die Zusammenstellung/Aufbereitung (TypoScript) und die Ausgabe/Visuelle Formatierung getrennt. Das heißt z. B. ich kann FLUID auch dem FE-Designer geben und muss keine Angst haben das der in TypoScript rum pfuscht...

    Einem Neuling in TYPO3 ist es tausend mal einfacher zu erklären wie er ViewHelper einsetzt, als TypoScript/UserFuncs... ;)

    Auch dein Argument bezüglich der "Übersichtlichkeit" kann ich nicht gelten lassen - da sowieso beides im Einsatz ist - keiner wird wohl die komplette Ausgabe mit TypoScript realisieren - und FLUID alleine geht ja nicht, entsprechend ist sowieso beides im Einsatz - da macht es meiner Meinung nach mehr Sinn, das FE-Zeug auch dem FE zu überlassen :)

    https://github.com/groundstack-org

  • 0 x
    3252 Beiträge
    152 Hilfreiche Beiträge
    01. 07. 2021, 20:07

    Zitiert von: Teisinger
    Einem Neuling in TYPO3 ist es tausend mal einfacher zu erklären wie er ViewHelper einsetzt, als TypoScript/UserFuncs... ;)
    Ähm, Dein Vorschlag war aber im "Fall der Fälle immer noch deine eigenen ViewHelper nutzen", d.h. auch eigene ViewHelper zu Programmieren.
    Und das ist einfacher für nen Neuling als ne UserFunc???

    Übersichtlichkeit:

    Zitiert von: Teisinger
    keiner wird wohl die komplette Ausgabe mit TypoScript realisieren
    ganze Ausgabe sicher nicht. Umfangsreichere Menüs fand ich bislang in TS stets übersichtlicher...

  • 0 x
    9 Beiträge
    0 Hilfreiche Beiträge
    02. 07. 2021, 16:53

    Danke für die Hilfe. Ich habe tatsächlich kurz nachdem ich den Eintrag geschrieben habe für mich eine gute Lösung gefunden.

    [code]lib.footermenu = COA
    lib.footermenu {
    wrap = <div class="footerbody">|</div>
    10 = COA
    10 {
    wrap = <ul class="row">|</ul>

    10 = HMENU
    10 {
    special = directory
    special.value = 18

    1 = TMENU

    1.NO = 1
    1.NO.allWrap = <li>|</li>

    #1.wrap = <ul>|</ul>

    }
    }

    20 < .10
    20.wrap = <ul class="row">|</ul>
    20.10.special.value = 19
    20.10.1.NO.allWrap = <li class="und">|</li>|*|<li>|</li>

    30 < .10
    30.wrap = <ul class="row">|</ul>
    30.10.special.value = 20
    30.10.1.NO.allWrap = <li class="und">|</li>|*|<li>|</li>

    40 = TEXT
    40 {
    wrap = <div class="row"><h2>Copyright 2021<br>AnnaSchunck.</h2></div>
    }
    }
    [/code]

    und dann im CSS in der class="und"
    .und::after {
    content: " und ";
    }

  • Teisinger Teisinger
    Jedi-Ratsmitglied
    0 x
    502 Beiträge
    37 Hilfreiche Beiträge
    06. 07. 2021, 14:50

    Ja ich finde ViewHelper einfacher (weil er kein TypoScript dafür können muss) und b) macht es auch mehr Sinn, da er ViewHelper dann überall einsetzten kann. TypoScript ist nun einmal kompliziert vor allem wenn man irgendwie was zusammenbauen muss und dafür "if's" etc. benötigt.

    Übersichtlicher:
    Geschmackssache - ich finde halt, alles was FE ist gehört auch ins FE/Template und nicht an verschiedene Stellen, das hätte (bei TYPO3 wohl eher nicht, aber theoretisch) den Vorteil der Kapselung, sprich die Parts wären einfacher Austauschbar. Aber bei TYPO3 ist es ja noch so: "jeder wie er will" :)

    https://github.com/groundstack-org

  • 1