Puncte:2

Ce metode sunt disponibile pentru a rezolva „Câmpul node.field_name trebuie actualizat.”?

drapel mx
awm

Când raportul de stare Drupal spune că câmpul âfield_nameâ trebuie actualizat, am aflat că uneori este greu de rezolvat. În trecut am avut entup dar asta a fost eliminat. Următoarele funcționează în multe cazuri:

  1. Editați un câmp și resaveți apoi exportați-l. Aceasta va adăuga o proprietate de schemă lipsă: în acest fel puteți spune ce s-a schimbat.
  2. Ștergeți configurația din baza de date și reimportați-o \Drupal::configFactory()->getEditable($name)->delete(). (Nu sunt sigur dacă acest lucru are efecte secundare rele?)
  3. dezinstalați/reinstalați un modul (asta nu este întotdeauna posibil).

Totuși, de unde știu exact ce trebuie actualizat? M-am uitat în codul (entityUpdateManager) getChangeSummary nu pot afla exact ce trebuie actualizat. Există vreo cale? Și metoda #2 ar putea avea consecințe negative?

drapel cn
Cel mai simplu mod este să accesați pagina de administrare a setărilor de stocare a câmpului și să faceți clic pe „Salvați setările câmpului”. Aceasta invocă `::save()` pe entitatea de configurare de stocare a câmpului, care pare să sincronizeze întotdeauna lucrurile corect. Nu l-am încercat niciodată, dar probabil că dacă trebuie să o faceți programatic, este la fel de simplu ca să încărcați entitatea și să o salvați din nou
awm avatar
drapel mx
awm
Am încercat și am listat ca opțiunea 1 în întrebarea mea. Totuși, nu a funcționat pentru câmpurile personalizate. Există un `custom_storage` setat la false pentru acele câmpuri. Mă întreb dacă are vreo legătură cu asta. Când creați un câmp personalizat, cheia `custom_stroage` ar trebui să fie adevărată? și `\Drupal::configFactory()->getEditable($name)->delete()` are vreun efect secundar?
drapel cn
Scuze, trebuie să fi citit greșit ca ceva diferit prima dată. `custom_storage` este pentru atunci când doriți să gestionați singur stocarea datelor câmpului, adică Drupal nu le va stoca în `node__field_foo` pentru dvs. (câmpul Pathauto adaugă la entități este un exemplu în acest sens). Un eveniment `ConfigEvents::DELETE` este declanșat atunci când ștergeți un element de configurare folosind API-ul, așa că ar putea exista efecte secundare în teorie, dar clasele de bază care se abonează la acel eveniment nu par că ar face ceva care ar cauza probleme . Contrib ar putea fi o problemă diferită

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.