Puncte:0

Nu se poate obține formularul de entitate pentru a afișa valoarea câmpului de dată

drapel cl

Am o entitate cu două câmpuri de dată. În codul care salvează entitatea, este:

$date_requested = data('A-m-d', ora());

și în lista de valori de câmp care sunt adăugate la entitate:

->set('data_câmpului_solicitată', $data_solicitată)

La inspectarea db-ului, tabelul conține:

pachet | șters | id_entitate | revision_id | langcode | delta|field_date_requested_value
+-------+---------+-----------+-------------+----- -----+------+--------------+
| pachetul_meu | 0 | 4 | 4 | ro | 0 | 26-05-2022       

Dar când editez entitatea, văd asta:

captură de ecran a afișajului câmpului entității

Dacă inserez data folosind același format ca substituentul, aceasta este în db cu acel format, dar tot nu se afișează. Dacă introduc manual data în formularul de entitate (care cere să fie m/d/Y), se afișează atunci când este editată din nou, în acel format, deși nu văd nicio diferență în subcâmpul de valoare din db.

Puncte:0
drapel cn

Când stocați date și ore în baza de date, ar trebui să utilizați DateTimeItemInterface::DATETIME_STORAGE_FORMAT, care este Y-m-d\TH:i:s. Dacă îl stocați într-un format diferit, Drupal nu va reuși să îl proceseze corect.

drapel cl
Am schimbat formatul în acela. Acum valoarea din db este 2022-05-26T00:00:00, dar formularul de entitate afișează în continuare un câmp gol cu ​​un substituent.
drapel cn
@JAyenGreen În afară de setarea valorii, valoarea este modificată în vreun fel de codul dvs.? Care este valoarea trimisă widget-ului care nu reușește să afișeze valoarea?
drapel cl
Este un șir simplu în format aaaa-mm-zz. Este generat după dată (fmt, marca oră). Câmpul de dată Drupal este doar un varchar MySQL (20), iar în db este afișat corect. Deoarece selectarea inițială a datei de către utilizator este făcută folosind FullCalendar, nu widget-ul Data, încep să cred că mi-ar fi mai bine dacă câmpul este text simplu.
drapel cn
@JAyenGreen Ok, nu știu nimic despre FullCalendar, dar dacă utilizați un widget Data, altul decât cel care vine cu nucleul Drupal, acesta ar trebui să facă parte din întrebare.
drapel cl
Nu sunt. Calendarul este folosit pentru selectarea unei date. Apoi iau acea valoare ca șir aaaa-mm-did și o salvez în entitate cu celelalte valori ale entității.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.