[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


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

    http://www.typo3.net/tsref/conditions/dayofweek/

  • toifel toifel
    Jedi-Ratsmitglied
    0 x
    831 Beiträge
    96 Hilfreiche Beiträge
    18. 06. 2014, 09:54

    Mit date:N solltest du im Typoscript den Wochentag auslesen können. 1 steht für Montag und wird entsprechend hochgezählt. Hier ein kleines Beispiel womit geprüft wird, ob heute (also Mittwoch, der 3. Tag der Woche) ist..

    1. page.10.marks.content = COA
    2. page.10.marks.content {
    3. 10 = TEXT
    4. 10.value = HEUTE
    5. 10.if {
    6. value.data = date:N
    7. equals = 4
    8. }
    9.  
    10. 20 = TEXT
    11. 20.value = NICHT HEUTE
    12. 20.if {
    13. value.data = date:N
    14. equals = 4
    15. negate = 1
    16. }
    17. }

  • typo3_hp typo3_hp
    Jedi-Meister
    0 x
    390 Beiträge
    0 Hilfreiche Beiträge
    18. 06. 2014, 12:39

    Hallo Zusammen!

    Danke, das passt soweit!
    Mir ging es aber primär darum, wie ich das Contentelement dynamisch befüllen kann. Kein Marker im Template!

    Ich hätte gerne auf der Startseite ein Content-Element (Text und Bild), welches ich je nach Wochentag mit einem anderen Content-Element (von einer Sys-Seite) befüllen möchte.

    Danke

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

    Wenn dich ein "Marker im Template" stört,
    mußt du dir eben eine kleine Extension bauen, die letztendlich nur ein bißchen Typoscript enthält zum Umschalten des Ursprungselementes abhängig vom Wochentag.
    So was gibt's auch schon fertig:
    http://typo3.org/extensions/repository/view/typoscript_code

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

    Super!

    Vielen Dank!

    Geht genau in die Richtung, was ich suche.
    Kann mir hier noch jemand helfen, ich würde mittels der EXT typoscript_code ein anderes Contentelement je nach Wochentag zuordnen.

    Das Skript scheint aber nicht zu stimmen. Da der Content egal an welchem Wochentag angezeigt wird.

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

    Danke und LG

  • jenses jenses
    Flash Gordon
    0 x
    3087 Beiträge
    106 Hilfreiche Beiträge
    20. 06. 2014, 11:38

    Das Öffnen und Schließen der geschweiften Klammern sollte man schon korrekt durchführen,
    schau dir dein TS noch mal selbst dahingehend an...

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

    Vielen Dank!

    Leider funktioniert es aber immer noch nicht. Der Contentverweis wird in jedem Fall angezeigt, nicht nur - wie gewollt - donnerstags.

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

    Danke und LG

  • typo3_hp typo3_hp
    Jedi-Meister
    0 x
    390 Beiträge
    0 Hilfreiche Beiträge
    22. 06. 2014, 19:57

    Niemand eine Idee?
    :-(

    Danke und LG

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

    CONTENT hat keine Eigenschaft [b]if[/b],
    wohl aber stdWrap,
    also:

    1. 20 = CONTENT
    2. 20 {
    3. ...
    4. ...
    5. }
    6. }