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
dynamisches Contentelement
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.
10 = TEXT
10.value = HEUTE
10.if {
value.data = date:N
equals = 4
}
20 = CONTENT
20 {
table = tt_content
select {
# Seite mit ID X ist Quelle
pidInList = 13
#languageField = sys_language_uid
orderBy = sorting
# colPos=2 ist Spalte 'RECHTS'
where = colPos=0
}
20.if {
value.data = date:N
equals = 4
negate = 1
}
Danke und LG
Das Öffnen und Schließen der geschweiften Klammern sollte man schon korrekt durchführen,
schau dir dein TS noch mal selbst dahingehend an...
Vielen Dank!
Leider funktioniert es aber immer noch nicht. Der Contentverweis wird in jedem Fall angezeigt, nicht nur - wie gewollt - donnerstags.
10 = TEXT
10.value = HEUTE
10.if {
value.data = date:N
equals = 4
}
20 = CONTENT
20 {
table = tt_content
select {
# Seite mit ID X ist Quelle
pidInList = 13
#languageField = sys_language_uid
orderBy = sorting
# colPos=2 ist Spalte 'RECHTS'
where = colPos=0
}
if {
value.data = date:N
equals = 4
negate = 1
}
}
Danke und LG
Niemand eine Idee?
:-(
Danke und LG
CONTENT hat keine Eigenschaft if,
wohl aber stdWrap,
also:
20 = CONTENT
20 {
...
stdWrap.if {
...
}
}
Vielen dank,
irgendwie tue ich mir schwer mit dem Script:
Habe es so:
20 = CONTENT
20 {
table = tt_content
select {
# Seite mit ID X ist Quelle
pidInList = 13
#languageField = sys_language_uid
orderBy = sorting
# colPos=2 ist Spalte 'RECHTS'
where = colPos=0
}
20.stdWrap.if {
value.data = date:N
equals = 4
negate = 1
}
und so:
20 = CONTENT
20 {
table = tt_content
select {
# Seite mit ID X ist Quelle
pidInList = 13
#languageField = sys_language_uid
orderBy = sorting
# colPos=2 ist Spalte 'RECHTS'
where = colPos=0
}
stdWrap.if {
value.data = date:N
equals = 4
negate = 1
}
}
versucht, jedoch wird immer noch in allen Fällen das Contentelement angezeigt.
Was mache ich falsch?
Danke und LG
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?
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?
Chrissli schriebIch 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.
jenses schriebChrissli schriebIch 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?
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!
Als kleiner Tipp für die Übersichtlichkeit:
temp.heute = COA
#montag
10 = CONTENT
10 {
table = tt_content
select {
# Seite mit ID X ist Quelle
pidInList = 13
#languageField = sys_language_uid
orderBy = sorting
# colPos=2 ist Spalte 'RECHTS'
where = colPos=0
}
stdWrap.if {
value.data = date:N
equals = 1
}
}
# dienstag
20 < .10
20.select.pidInList = 14
20.stdWrap.if.equals = 2
# mittwoch
30 < .10
30.select.pidInList = 15
30.stdWrap.if.equals = 3
...
}
Aber das kennst du ja sicher 😃
Und dann den Thread als gelöst markieren XD