Formatieren Sie das Datum in Regeln


6

Ich verwende eine Regel, um E-Mails zu versenden, wenn ein Knoten erstellt wird. Unter Aktion und Nachrichtentext füge ich [Knoten: Feldkalenderdatum] ein. Das Token wird in der E-Mail-Nachricht durch (zum Beispiel) "2012-12-14T08: 00: 00" ersetzt, aber ich möchte, dass es durch "Freitag, 14. Dezember, 8:00 Uhr" ersetzt wird (gleiches Datum, aber a anderes Format).

Ich habe versucht, format_date () zu folgen , aber es funktioniert nicht.

Wie kann ich das gewünschte Format erhalten?

Antworten:


9

Sie können verwenden [node:field_calendar_date:custom:l, Fd, gia], wenn [node:field_calendar_date]es sich um ein Datumstoken handelt. In diesem Fall wird [node:field_calendar_date:custom]das Datum in dem benutzerdefinierten Format zurückgegeben, das nach dem folgenden Doppelpunkt aufgeführt ist. Die Formatzeichenfolge wird von date () akzeptiert .

Wenn Sie das in den Drupal-Datumseinstellungen als Kurz-, Mittel- und Langformat festgelegte Format verwenden möchten, können Sie die folgenden Token verwenden:

  • [node:field_calendar_date:short]
  • [node:field_calendar_date:medium]
  • [node:field_calendar_date:long]

1
Ich habe es versucht und die E-Mail-Nachricht rendert [node: field_calendar_date: short] oder eines der verwendeten Token
lakers2012

1
Hat das für jemanden funktioniert? Für mich funktioniert es in keiner Weise mit irgendetwas hinter dem Datumsfeld. Müssen Sie etwas anderes installieren oder ein Token auf irgendeine Weise ändern?
Reptilex

1
Gleiches Problem für mich. Soweit ich sehen kann, schlägt das Ersatz-Token "Knoten geändert" explizit [Knoten: geändert: benutzerdefiniert:?] Vor, was bei Datumsfeldern nicht der Fall ist (bestenfalls bietet die Aktivierung von "Entitätstoken" über die Entitäts-API weitere Optionen, wie z Start- und Enddatum anzeigen, sofern verfügbar, jedoch noch keine benutzerdefinierte Anzeige).
WhiteWinterWolf

8

OK, verstanden, es funktioniert nicht, auch wenn ich die Logik unter der Haube nicht wirklich verstehe ... Eigentlich waren die beiden Blockierungsprobleme, die ich hatte, die folgenden:

  1. Ein Datum kann ein Bereich sein, daher kann [node: field_date] nicht als Datumstoken betrachtet werden. Installieren Sie die Entity-API und aktivieren Sie das Modul "Entity-Token", um Zugriff auf den tatsächlichen Datumswert zu erhalten.
  2. Beachten Sie, dass Entity-Token aus einem unbekannten Grund den Unterstrich ([node: field_date ...) des ursprünglichen Token-Namens durch einen Bindestrich ([field-date ...) ersetzen. Sie haben dann Zugriff auf ein ordnungsgemäß formatiertes Datum (in Mein Fall "[Knoten: Felddatum: Wert: Benutzerdefiniert: Ym]", in der ursprünglichen Frage denke ich daher "[Knoten: Feldkalenderdatum: Wert: Benutzerdefiniert: l, F d, gia]")

Nun, das ist nur ärgerlich - alle Token zu duplizieren, um alternative Funktionen bereitzustellen. Vielen Dank für den Tipp von (Punkt 2)
Nick

Punkt 2 hat es auch für mich getan. Ich hätte nie gedacht, Striche zu versuchen!
Davidneedham
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.