Archiv-View wirft Fehlermeldung "InvalidArgumentException: The timestamp must be numeric" aus
am 20.10.2023 - 15:04 Uhr in
Hallo,
vielleicht kann mir hier jemand weiterhelfen.
Ich versuche die Article-Archive View so anzupassen, dass sie statt "Monat Jahr" nur noch das Jahr anzeigt und darin die entsprechenden Artikel bündelt. Im ersten Moment klappt das auch sehr gut, es werden die Artikel nach Jahren gebündelt, die Zahlen stimmen, alles super. Aber... wenn ich dann einen Archivlink, also eine Jahreszahl, anklicke, erhalte ich folgende Fehlermeldung:
InvalidArgumentException: The timestamp must be numeric. in Drupal\Component\Datetime\DateTimePlus::createFromTimestamp() (line 201 of /.../drupal/web/core/lib/Drupal/Component/Datetime/DateTimePlus.php).
Habe folgende Einstellung in der View vorgenommen:
- Kontextfilter: "Inhalt: Erstellungsjahr"
- Datum im Format JJJJ
- Falls der Filterwert NICHT verfügbar ist: Eine Zusammenfassung anzeigen
- Sortierreihenfolge: Absteigend
- Sortieren nach: Datum
- Format: Liste
- Anzahl der Ergebnisse mit dem Link anzeigen
- Falls der Filterwert verfügbar ist, oder falls ein Standardwert verfügbar ist: Titel übersteuern ->
{{ arguments.created_year }}
- Validationskriterien festlegen
- Validator: Einfache Validierung
- Aktion, falls der Filterwert ungültig ist: Ansicht ausblenden
Diese Einstellungen sind bis auf Kontextfilter "Inhalt: Erstellungsjahr" und "Datum im Format JJJJ" mit dem ursprünglichen Archiv identisch.
Das Archiv mit "Monat Jahr", das vom System selbst stammt, funktioniert anstandslos.
Also der Aufruf von z.B. "www.beispieldomain.de/archive/202310" funktioniert - während der Aufruf von "www.beispieldomain.de/archive/2023" den oben genannten Fehler auswirft.
Verstehe wirklich nicht, wo nun der Fehler liegt. Wie kann ich dem System denn sagen, dass es sich um einen numerischen Wert handelt?
Ich habe leider in meiner Google Suche nichts speziell auf die Artikel Archiv View passendes gefunden.
das passendste, das zumindest die Anzeige der Fehlermeldung verhinderte, aber das Problem trotzdem nicht löste war ein Kommentar in folgendem Thread: https://drupal.stackexchange.com/questions/249180/cannot-format-date-for....
I kind of cheated (and proved my case). I edited the DateTimePlus.php to NOT throw the error if not is_numeric (line 172). Instead, I simply converted the $timestamp to an actual timestamp: $timestamp = strtotime($timestamp); This indeed resolved my particular issue. My date field was not a timestamp, but needed to be converted to a timestamp in order to be formatted. Obviously, this is not the correct approach, but I was on the right track. The question now becomes, how do I do this 'legally'? Is there a way to override this? Does this become a ticket/feature request? –
Chris Howell
Oct 31, 2017 at 18:31
Das habe ich ausprobiert aber wie gesagt, löste es das Problem nicht - es zeigt anstelle der Fehlermeldung jetzt eben einfach eine leere Seite an.
Kann mir jemand von euch hier weiterhelfen?
Vielen Dank im Voraus.
Verwendetes System:
Drupal 10.1.5
PHP 8.2.11
MySQL 8.0.33
- Anmelden oder Registrieren um Kommentare zu schreiben
Das hier
am 23.10.2023 - 16:04 Uhr
Das hier gesehen?
https://www.drupal.org/project/calendar_view/issues/3381473
LG Regina Oswald
-------------------------
Montviso - Internetdienstleistungen
http://www.montviso.de