Puncte:1

Cum se trimite un formular de contact prin JSON:API?

drapel cn

Care sunt cerințele pentru trimiterea formularului de contact folosind JSON:API?

Am activat modulul de bază Contacte și am configurat un formular de contact personalizat la nivelul întregului site. Am dat permisiunea utilizatorilor anon + auth să trimită formularul.

Apoi, am activat JSON:API. Pot vedea formularul de contact la /jsonapi/contact_form/contact_form:

"date":[
   {
      "type":"contact_form--contact_form",
      "id":"d97e73f1-7d06-4bf0-b05b-1c654a659dfc",
      "linkuri":{
         "de sine":{
            „href”: „https://example.lndo.site/jsonapi/contact_form/contact_form/d97e73f1-7d06-4bf0-b05b-1c654a659dfc”
         }
      },
      "langcode":"ja",
      „starea”:adevărat,
      „dependențe”:[
         
      ],
      "drupal_internal__id":"exemplu_suport",
      "label":"Exemplu de suport",
      „destinatari”:[
         „[email protected]”
      ],
      "răspuns":"",
      "greutate":0,
      "message":"Vă mulțumim pentru trimitere.",
      "redirecţiona":""
   }
],

Dar, care este punctul final la care trebuie să postez pentru a trimite acest formular?

am găsit această problemă despre e-mailurile care nu sunt trimise atunci când un formular de contact este trimis prin REST.

Această problemă sugerează că /entity/contact_message Punctul final REST trebuie să fie activat pentru a trimite formularul de contact - este valabil și pentru JSON:API?

Sunt confuz deoarece folosind JSON:API, pot trimite noduri fără a activa niciun punct final REST prin POSTARE la /jsonapi/node/content_type.

Alireza Tabatabaeian avatar
drapel cn
json api nu depinde de punctul final de odihnă, pentru aproape toate situațiile, efectuarea unei solicitări post la „Entity_type/Bundle” va determina crearea unei noi entități a pachetului respectiv, deci dacă asta nu funcționează, atunci poate este legat de modulul json api, dar eu cred că activarea unui punct final de odihnă nu ar trebui să ajute în această situație
Puncte:1
drapel cn

Se pare că un punct final REST este necesar în acest caz, deoarece, deși formularele de contact sunt entități, trimiterile formularelor de contact nu sunt entități decât dacă utilizați Contactați depozitarea modul.

Cu toate acestea, având în vedere problema principală cu notificările care nu sunt trimise si un număr mare de probleme RTBC și „Necesită revizuire” în coada de probleme de stocare a contactului din 30 ianuarie 2022, am decis să adopt o altă abordare. Dacă un utilizator este supărat și solicită asistență, este deosebit de groaznic să existe o eroare care cauzează lipsa trimiterii sau răspunsul întârziat.

Așa că am rezolvat asta folosind Formular web REST modul:

  1. Instalați modulul.
  2. Activați Trimitere formular web Resursa REST folosind modulul REST UI.
  3. Creați formularul web.
  4. Adăugați cod în aplicația frontend pentru a trimite formularul.

Am făcut acest lucru să funcționeze în aproximativ o oră și singura modificare suplimentară pe care a trebuit să o fac până acum este aceea corectează Webform REST, astfel încât să pot dezinstala REST UI după ce am activat punctul final.

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.