Wenn ich mir von einer yForm Table den Formular-Code ausgeben lasse, um die PHP-Schreibweise rauszukopieren, dann fehlt da ein letzter Parameter, was zu einem Whoops führt.
Folgende Zeile wurde mir ausgegeben:
$yform->setValueField('flatpickr', ['requested_datetime','Wunschtermin','datetime','','0','de','','d.m.Y - H:i','15','1','split','{"past":0,"future":1}','0','1','1','0','0','1','1','0','','','','','0']);
Das führte zu einem Whoops:
**InvalidArgumentException:** Expecting $text to be a String, "boolean" given!
**File:** redaxo/src/core/lib/util/i18n.php
**Line:** 359
<details>
<summary>Stacktrace</summary>
| Function | File | Line |
| -------------------------------------------- | ------------------------------------------------------------------------ | -------- |
| rex_i18n::translate | redaxo/src/addons/flatpickr/ytemplates/bootstrap/value.flatpickr.tpl.php | 13 |
| include | redaxo/src/addons/yform/lib/Field/value/abstract.php | 136 |
| rex_yform_value_abstract->parse | redaxo/src/addons/flatpickr/lib/yform/value/flatpickr.php | 49 |
CodeX sagt dazu:
Der letzte Parameter notice fehlt in deinem Array.
Dein letzter Wert '0' gehört zu no_db. Danach erwartet Flatpickr noch notice. Fehlt dieser Wert, liefert YForm false. Das Template prüft jedoch false !== '' und übergibt anschließend den booleschen Wert an rex_i18n::translate(), das einen String verlangt. Siehe [value.flatpickr.tpl.php (line 12)]
Lösung (getestet und funktioniert) => einfach den leeren Parameter noch mitschleifen.
$yform->setValueField('flatpickr', ['requested_datetime','Wunschtermin','datetime','','0','de','','d.m.Y - H:i','15','1','split','{"past":0,"future":1}','0','1','1','0','0','1','1','0','','','','','0','']);
Wenn ich mir von einer yForm Table den Formular-Code ausgeben lasse, um die PHP-Schreibweise rauszukopieren, dann fehlt da ein letzter Parameter, was zu einem Whoops führt.
Folgende Zeile wurde mir ausgegeben:
$yform->setValueField('flatpickr', ['requested_datetime','Wunschtermin','datetime','','0','de','','d.m.Y - H:i','15','1','split','{"past":0,"future":1}','0','1','1','0','0','1','1','0','','','','','0']);Das führte zu einem Whoops:
CodeX sagt dazu:
Der letzte Parameter notice fehlt in deinem Array.
Dein letzter Wert '0' gehört zu no_db. Danach erwartet Flatpickr noch notice. Fehlt dieser Wert, liefert YForm false. Das Template prüft jedoch false !== '' und übergibt anschließend den booleschen Wert an rex_i18n::translate(), das einen String verlangt. Siehe [value.flatpickr.tpl.php (line 12)]
Lösung (getestet und funktioniert) => einfach den leeren Parameter noch mitschleifen.
$yform->setValueField('flatpickr', ['requested_datetime','Wunschtermin','datetime','','0','de','','d.m.Y - H:i','15','1','split','{"past":0,"future":1}','0','1','1','0','0','1','1','0','','','','','0','']);