Zum Inhalt springen

Contentelement jeden Montag bis Dienstag einblenden

Erstellt am 24. November 2017 · 4 Antworten · letzte Antwort am 29. November 2017

Tags: Inhaltselemente, TYPO3 7, Frage

mimii ·

Hallo ins Forum,

ich kann CEs ja über das Veröffentlichungsdatum ein- und über das Ablaufdatum wieder ausblenden. Ich möchte aber ein CE jeden Montag um 0:00 Uhr einblenden und Dienstag um 23:59 wieder ausblenden und das soll regelmäßig jede Woche passieren. Es geht dabei um einen einfachen Hinweis als Text und/oder Bildelement "Heute Ruhetag". Eine Kalenderextension dafür intallieren wäre m.E. eine Nummer zu groß.

Wie bzw. wo kann man das einstellen?

Danke für n Tipp und Gruß
mimii

Julian.​Hofmann ·

Hallo mimii.

Würde hier mit TypoScriptmitteln versuchen zu arbeiten. Per if-Anweisung mit passenden Regeln dahinter ("isInList" mit Liste der Wochentage; Vergleichswert via "date" aus aktuellem TimeStamp).
Wenn der Zeitpunkt sehr genau eingehalten werden muss, dass evtl. noch mit passenden "cache"-Funktionen versehen.

Viele Grüße
Julian

mimii ·

Hallo Julian,

danke für deine Antwort. Uff, da müsste ich mich erst mal fit machen... ich glaube eine für mich einfachere Methode gefunden zu haben. Ich versuch's im Fluid-Template

<f:if condition="{f:format.date(date: 'now', format: 'l')} == 'Monday'">	
<p>Heute Ruhetag</p>
</f:if>

Jetzt hapert es nur noch an der oder-Verknüpfung. So geht's ja nicht. Soweit ich gelesen habe kennt Fluid kein || oder ähnliches für oder :-/

<f:if condition="{f:format.date(date: 'now', format: 'l')} == 'Monday' || 'Tuesday'">	
<p>Heute Ruhetag</p>
</f:if>

Vielleicht hat jemand ne schicke Idee.

Danke und viele Grüße
mimii

Julian.​Hofmann ·

Kommt auf Deine TYPO3-Version an. Aktuelles Fluid kann das.

Aus den "What's new?" Folien zu v8:

Fluid unterstützt nun auch komplexe Bedingungen mit Gruppierungen und Verschachtelungen:
<f:if condition="({variableOne} && {variableTwo}) || {variableThree} || {variableFour}">
// Done if both variable one and two evaluate to true,
// or if either variable three or four do.
</f:if>

mimii ·

Hallo,

die Site läuft noch auf 7.6, ein Umstieg ist in absehbarer Zeit nicht geplant. Meine Lösung wäre zwar nicht schick, aber ich denke so funktioniert es. Ich mach einfach zwei if Abfragen

<f:if condition="{f:format.date(date: 'now', format: 'l')} == 'Monday'">
<p>Heute Ruhetag</p>
</f:if>
<f:if condition="{f:format.date(date: 'now', format: 'l')} == 'Tuesday'">
<p>Heute Ruhetag</p>
</f:if>

Danke für deine Anregungen und Gruß
mimii