[Frage] dynamisches Contentelement [Gelöst] TYPO3-Version: 6.1.7

  • typo3_hp typo3_hp
    Jedi-Meister
    0 x
    390 Beiträge
    0 Hilfreiche Beiträge
    17. 06. 2014, 21:36

    Guten Abend!

    Für eine Bar mit täglich wechselnden Aktionen, habe ich folgende Anforderung:

    Es soll die am aktuellen Tag gültige Aktion angezeigt werden.

    Ich möchte das gerne nicht im Template als Marker machen, sondern auf der Startseite ein Contentelement einfügen "heutige Aktion", welches z.B. über Typoscript-Conditions Wochentag=X befüllt wird (mit einem Verweis auf ein weiteres Contentelement-> die gültige Aktion)

    Es würde also auf der Startseite das eine Element "heutige Aktion" geben und auf einer anderen Seite die 7 Contentelemente (Mo,Di,Mi,Do,Fr,Sa,So). Nun soll das Element auf der Startseite je nach Tag das richtige Contentelement (der sieben) gemappt bekommen.
    Wie kann ich dies machen?

    Danke und LG

  • typo3_hp typo3_hp
    Jedi-Meister
    0 x
    390 Beiträge
    0 Hilfreiche Beiträge
    24. 06. 2014, 18:59 - Lösung

    Vielen dank,

    irgendwie tue ich mir schwer mit dem Script:

    Habe es so:

    1. 20 = CONTENT
    2. 20 {
    3. table = tt_content
    4. # Seite mit ID X ist Quelle
    5. pidInList = 13
    6. #languageField = sys_language_uid
    7. orderBy = sorting
    8. # colPos=2 ist Spalte 'RECHTS'
    9. where = colPos=0
    10. }
    11.  
    12. 20.stdWrap.if {
    13. value.data = date:N
    14. equals = 4
    15. negate = 1
    16. }

    und so:

    1. 20 = CONTENT
    2. 20 {
    3. table = tt_content
    4. # Seite mit ID X ist Quelle
    5. pidInList = 13
    6. #languageField = sys_language_uid
    7. orderBy = sorting
    8. # colPos=2 ist Spalte 'RECHTS'
    9. where = colPos=0
    10. }
    11.  
    12. value.data = date:N
    13. equals = 4
    14. negate = 1
    15. }
    16. }

    versucht, jedoch wird immer noch in allen Fällen das Contentelement angezeigt.

    Was mache ich falsch?

    Danke und LG


  • Chrissli Chrissli
    Jedi-General
    0 x
    1015 Beiträge
    28 Hilfreiche Beiträge
    25. 06. 2014, 09:04

    Ich lasse mich gerne korrigieren, aber die If-Bedingung sagt doch gerade aus "zeige den Inhalt wenn der Tag nicht '4' ( Donnerstag? ) ist ".

    War das denn der Plan? So kommt der Inhalt der Seite mit der ID 13 ja an allen Tagen ausser Donnerstags, oder nicht?

    Edit: Gibt es date:N überhaupt? Analog zur PHP-Formatierung aus strftime sollte das doch vermutlich date:u sein?

    God's in his heaven, all's right with the world

  • jenses jenses
    Flash Gordon
    0 x
    3087 Beiträge
    106 Hilfreiche Beiträge
    25. 06. 2014, 09:54

    Variante 2 ist korrekt und funktioniert (getestet).
    Cache gelöscht?
    Sicher, daß das TS auch ausgeführt wird?
    Wird es eventuell später irgendwo überschrieben?

  • jenses jenses
    Flash Gordon
    0 x
    3087 Beiträge
    106 Hilfreiche Beiträge
    25. 06. 2014, 09:56

    Zitiert von: Chrissli
    Ich lasse mich gerne korrigieren, aber die If-Bedingung sagt doch gerade aus "zeige den Inhalt wenn der Tag nicht '4' ( Donnerstag? ) ist ".

    Ja, genau das macht sie.
    Entfernt man das negate = 1, ist die Funktionsweise umgekehrt.

  • Chrissli Chrissli
    Jedi-General
    0 x
    1015 Beiträge
    28 Hilfreiche Beiträge
    25. 06. 2014, 10:21

    Zitiert von: jenses
    Zitiert von: Chrissli
    Ich lasse mich gerne korrigieren, aber die If-Bedingung sagt doch gerade aus "zeige den Inhalt wenn der Tag nicht '4' ( Donnerstag? ) ist ".

    Ja, genau das macht sie.
    Entfernt man das negate = 1, ist die Funktionsweise umgekehrt.

    Ok, ich hab den Gesprächsverlauf nämlich so interpretiert, dass eigentlich der Content Donnerstags ( in diesem Fall jetzt ) angezeigt werden soll, entsprechend wäre das negate=1 dann ja fehl am Platz, oder seh ich das falsch?

    God's in his heaven, all's right with the world

  • typo3_hp typo3_hp
    Jedi-Meister
    0 x
    390 Beiträge
    0 Hilfreiche Beiträge
    25. 06. 2014, 10:24

    Suupi ;-)

    das war es tatsächlich!
    Habe das negate nun entfernt und für jeden Tag der Woche ein Block angelegt.
    PASST!

    Lieben Dank noch einmal!

  • Chrissli Chrissli
    Jedi-General
    0 x
    1015 Beiträge
    28 Hilfreiche Beiträge
    25. 06. 2014, 11:32

    Als kleiner Tipp für die Übersichtlichkeit:

    1. temp.heute = COA
    2. #montag
    3. 10 = CONTENT
    4. 10 {
    5. table = tt_content
    6. # Seite mit ID X ist Quelle
    7. pidInList = 13
    8. #languageField = sys_language_uid
    9. orderBy = sorting
    10. # colPos=2 ist Spalte 'RECHTS'
    11. where = colPos=0
    12. }
    13.  
    14. value.data = date:N
    15. equals = 1
    16. }
    17. }
    18. # dienstag
    19. 20 < .10
    20. 20.select.pidInList = 14
    21. 20.stdWrap.if.equals = 2
    22.  
    23. # mittwoch
    24. 30 < .10
    25. 30.select.pidInList = 15
    26. 30.stdWrap.if.equals = 3
    27.  
    28. ...
    29. }

    Aber das kennst du ja sicher :D

    Und dann den Thread als gelöst markieren XD

    God's in his heaven, all's right with the world