Textpattern CMS support forum

You are not logged in. Register | Login | Help

#11 2013-07-22 13:16:05

phuture303
Member
Registered: 2008-09-14
Posts: 127

Re: [de-de] custom fields im Wochenrhythmus "wechseln"

uli schrieb:

Was mich übrigens interessieren würde: steht in deiner TXP-Variablen tatsächlich irgendwann mal odd?

Jau – immer im wöchentlichen Wechsel: ood oder even :-)

Ich rechne nach deinem Vorschlag die Tages-Differenz zwischen heute und einem festgelegten Tag (hier: Mittwoch, der 17.07.2013). Aus der Anzahl der Tage berechne ich dann die Anzahl der Wochen, das kann bei z.B. 10 Tagen ja ein krummer Wert sein. Dieser Wert wird immer aufgerundet (ceil). Nach obigen Beispiel befindet ich mich in also jetzt gerade Woche 1 (odd) (es wird heute von Null-komma-irgendwas auf 1 aufgerundet). Überschreite ich nun die 1. Woche, ergibt die Berechnung 1-Komma-irgendwas, das auf 2 aufgerundet wird (even). Und so sollte es nach meinem Verständnis auch immer weiter gehen (hoffentlich :-)

Anders formuliert: Wenn ich das Start-Datum vom 17.07. einfach mal auf den 10.07. verschiebe, befinde ich mich jetzt in der even-Woche (da Wert = 2).

So könnte ich nun mit der Variable wochenweise auf ein bestimmtes Set an custom-fields verweisen. Ich werde es im Herbst beim Relaunch merken :-)

UPDATE: Mann, jetzt hab ich deine Frage erst verstanden :-) Aber obiges war gut noch mal für mein eigenes Verständnis. Also, nein: Ich habe keine Probleme mit zusätzlichen Zeilen, die werden scheinbar ignoriert, wenn sie denn überhaupt da wären. Vor meinem Script steht aber notextile. im Testartikel, vielleicht habe ich daher keine Zeilenumbrüche.

Und schon wieder ein Update, muss die Hitze sein: Uli, du hast recht – sobald ich das in das Variable-Konstrukt baue, muss ich das PHP-Script ohne Zeilenumbrüche schreiben, sonst klappt das tatsächlich nicht:

notextile. <txp:variable name="oddeven" value='<txp:php>$date1 = "17.07.2013";$date2 = date("d.m.Y");$diff = abs(strtotime($date1) - strtotime($date2));$weeks = $diff / (7 * 24 * 60 * 60);if (ceil($weeks) % 2 !=0){echo "odd";}else
{echo "even";}</txp:php>' />
<txp:if_variable name="oddeven" value="odd">it's odd!<txp:else />it's even!</txp:if_variable>

Nicht schön, aber funktionert dann wohl…

Last edited by phuture303 (2013-07-22 13:23:03)

Offline

Board footer

Powered by FluxBB