[Frage] Unterseiten von 2 Seiten Alphabetisch ausgeben lassen [Gelöst] TYPO3-Version: 4.5.27

  • 0 x
    119 Beiträge
    0 Hilfreiche Beiträge
    21. 01. 2015, 15:07

    Hallo Community,

    ich würde gerne die Unterseiten von 2 unterscheidlichen Punken ausgeben lassen. Das klappt mit:

    1. special = directory
    2. special.value = 23, 25

    schon ganz gut. Er gibt aber erst alle Unterseiten der Seite mit UID 23 aus und dann die Unterseiten der UID 25. Gibt es eine Möglichkeit das er die Unterseiten beider, hinter value angegebenen Seiten, alphabetisch geordnet ausgibt und wenn ja wie?

    Danke schon mal für Euer Wissen

    Gruß

    Christofer

  • Wool Wool
    Jedi-Meister
    0 x
    324 Beiträge
    2 Hilfreiche Beiträge
    22. 01. 2015, 13:51 - Lösung

    Ich hab es mal mit der UID gemacht:

    1. ...snip...
    2. # den alten Teil:
    3. #renderObj = TEXT
    4. #renderObj.field = title
    5. #renderObj.typolink.parameter.field = uid
    6. #renderObj.wrap = <li>|</li>
    7. # ... ersetzen durch:
    8. renderObj = CASE
    9. renderObj {
    10. # nutze die UID als Unterscheidungsmerkmal:
    11. key.field = uid
    12. # für UID 999 mache:
    13. 999 = TEXT
    14. 999 {
    15. field = title
    16. typolink.parameter.field = uid
    17. typolink.ATagParams = class="ANDERS"
    18. wrap = <li>|</li>
    19. }
    20. # hole konfiguration aus der Version von UID 999 und ändere nur ATagParams für alle anderen:
    21. default < .999
    22. default.typolink.ATagParams = class="unterstFunkRechtlGrundl"
    23. }
    24. ...snip...


  • 1
  • Wool Wool
    Jedi-Meister
    0 x
    324 Beiträge
    2 Hilfreiche Beiträge
    21. 01. 2015, 15:23

    Es gibt den Parameter "alternativeSortingField" für TMENUs:

    1. 1 = TMENU
    2. 1 {
    3. ...
    4. }

    Ich bin mir aber nicht sicher, ob er die Unterseiten der beiden angegebenen IDs mischt, das musst Du ausprobieren.

    Sonst musst Du über ein where die Seiten erst abrufen und dann als Menü ausgeben.

    EDIT:
    Habe gerade gelesen, dass das auch im HMENU-Objekt funktioniert:

    1. lib.menu = HMENU
    2. lib.menu {
    3. ...
    4. }

    (Beispiel mit Sortierung nach Spalte "crdate" absteigend)

  • 0 x
    119 Beiträge
    0 Hilfreiche Beiträge
    22. 01. 2015, 09:52

    Hallo,

    danke für die Antwort. Er sortiert nun, aber nur die Inhalte beider Seiten und gibt sie dann untereinander aus. Er fasst leider die Inhalte beider Seiten nicht zusammen.

    Dazu habe ich mal den kompletten Quellcode hier angegeben:

    1. temp.inhalt = HMENU
    2. temp.inhalt {
    3.  
    4. #Definition Einstiegslevel
    5. special = directory
    6. special.value = 23, 25
    7.  
    8. 1 = TMENU
    9. 1 {
    10. expAll = 1
    11. NO {
    12. stdWrap.data = field:title
    13. subst_elementUid = 1
    14. doNotLinkIt = 1
    15. }
    16. }
    17. }

    Sonst musst Du über ein where die Seiten erst abrufen und dann als Menü ausgeben.

    Hast Du ein Beispiel für mich wie das ungefähr aussehen muß?

    Gruß

    Christofer

  • Wool Wool
    Jedi-Meister
    0 x
    324 Beiträge
    2 Hilfreiche Beiträge
    22. 01. 2015, 10:41

    Habe Dein "temp.inhalt" mal zum COA gemacht, falls Du vorher oder hinterher noch was einbauen magst ;-)

    1. temp.inhalt = COA
    2. temp.inhalt {
    3. wrap = <ul>|</ul>
    4. 20 = CONTENT
    5. 20 {
    6. table = pages
    7. pidInList = 23,25
    8. orderBy = title ASC
    9. }
    10. renderObj = TEXT
    11. renderObj.field = title
    12. renderObj.typolink.parameter.field = uid
    13. renderObj.wrap = <li>|</li>
    14. }
    15. }

  • 0 x
    119 Beiträge
    0 Hilfreiche Beiträge
    22. 01. 2015, 12:41

    Hallo Jedi-Meister,

    vielen lieben Dank, es funktioniert, da hast Du mir eine Menge Zeit und Nerven erspart :)
    Jetzt habe ich nur noch ein Problem, mangels Verständnis der Typo3 Syntax. Ich würde jetzt noch gerne dem Link eine css-Klasse unterschieben je nach Inhalt des nav_title der jeweiligen Seite. Das müsste mit CASE funktionieren. Nur weiß ich nicht wie ich die da rein basteln muß. Wird dann aus renderObj = TEXT ein renderObj = CASE?
    Der Standardfall (default) wenn nichts in nav_title drin steht habe ich unten eingefügt: renderObj.typolink.ATagParams = class="unterstFunkRechtlGrundl".

    1. temp.inhalt = COA
    2. temp.inhalt {
    3. wrap = <ul>|</ul>
    4. 20 = CONTENT
    5. 20 {
    6. table = pages
    7. pidInList = 23,25
    8. orderBy = title ASC
    9. }
    10. renderObj = TEXT
    11. renderObj.field = title
    12. renderObj.typolink.parameter.field = uid
    13. renderObj.typolink.ATagParams = class="unterstFunkRechtlGrundl"
    14. renderObj.wrap = <li>|</li>
    15. }
    16. }
    17.  
    18. 1

    DANKE und Gruß

    Christofer

  • Wool Wool
    Jedi-Meister
    0 x
    324 Beiträge
    2 Hilfreiche Beiträge
    22. 01. 2015, 13:51

    Ich hab es mal mit der UID gemacht:

    1. ...snip...
    2. # den alten Teil:
    3. #renderObj = TEXT
    4. #renderObj.field = title
    5. #renderObj.typolink.parameter.field = uid
    6. #renderObj.wrap = <li>|</li>
    7. # ... ersetzen durch:
    8. renderObj = CASE
    9. renderObj {
    10. # nutze die UID als Unterscheidungsmerkmal:
    11. key.field = uid
    12. # für UID 999 mache:
    13. 999 = TEXT
    14. 999 {
    15. field = title
    16. typolink.parameter.field = uid
    17. typolink.ATagParams = class="ANDERS"
    18. wrap = <li>|</li>
    19. }
    20. # hole konfiguration aus der Version von UID 999 und ändere nur ATagParams für alle anderen:
    21. default < .999
    22. default.typolink.ATagParams = class="unterstFunkRechtlGrundl"
    23. }
    24. ...snip...

  • 0 x
    119 Beiträge
    0 Hilfreiche Beiträge
    22. 01. 2015, 15:06

    Hallo Jedi-Meister,

    Na das nenne ich mal eine 100%tige Lösung.
    Das habe ich an meiner Bedürfniss angepasst und es funktioniert ohne Probleme.

    So eine präzise Hilfe hatte ich hier noch nie. Da merkt man das Du einiges davon verstehst. Besten Dank auch für Deine Zeit und Dein Wissen:D

    Gruß

    Christofer

  • Wool Wool
    Jedi-Meister
    0 x
    324 Beiträge
    2 Hilfreiche Beiträge
    22. 01. 2015, 15:28

    Freut mich dass ich helfen konnte ;)

    Bitte dann das Thema noch als gelöst markieren.

  • 1