Puncte:1

Mesaj de confirmare la trimiterea comentariilor

drapel in

Când se trimite un comentariu, nu se afișează niciun mesaj de confirmare și aș dori să realizez acest lucru. Vreau să arăt următorul mesaj.

Comentariul dvs. a fost adăugat pentru examinare și aprobare.

Am incercat acest cod.

funcția mymod_form_alter(&$form, FormStateInterface $form_state, $form_id) {
  else if ($form_id == 'comment_comment_form') {
    $form['actions']['submit']['#value'] = „comentarul tău a fost adăugat pentru examinare și aprobare”
  }
}

Aceasta editează doar textul butonului de trimitere. Există vreo modalitate de a adăuga un mesaj de confirmare a trimiterii?

Puncte:4
drapel us

Drupal afișează deja un mesaj similar, utilizatorilor care au postați comentarii permisiunea dar nu omite aprobarea comentariului permisiune.
Nu este nevoie să folosiți cod personalizat pentru asta: nu dați omite aprobarea comentariului permisiunea utilizatorilor ale căror comentarii trebuie aprobate.

Dacă scopul este schimbarea mesajului afișat de Drupal în acest caz (Comentariul dvs. a fost pus în coadă pentru examinare de către administratorii site-ului și va fi publicat după aprobare.), este suficient să schimbi mesajul pe care îl folosește Drupal, de exemplu adăugând următoarea linie în fișierul settings.php.

$settings['locale_custom_strings_en'][''] = [
  „Comentariul dumneavoastră a fost pus în coadă pentru examinare de către administratorii site-ului și va fi publicat după aprobare”. => „Comentariul tău a fost adăugat pentru examinare și aprobare”,
];
drapel in
Multumesc pentru ajutor.Fragmentul de mai sus nu suprascrie limba pe care încă o văd „Comentariul tău a fost adăugat pentru examinare și aprobare”. mesajul actualizat nu este afișat.
drapel in
btw, am copiat lipite liniile de mai sus în settings.php și am șters memoria cache. tot nu pot vedea limba schimbată
leymannx avatar
drapel ne
@chaydru â Cred că trebuie să traduceți mesajul acum pe pagina de traducere a interfeței.
drapel in
Cum să faci asta?
apaderno avatar
drapel us
@chaydru Această metodă este încă documentată în fișierul [default.settings.php](https://api.drupal.org/api/drupal/sites%21default%21default.settings.php/9.3.x) pentru Drupal 9.3. x, deci este metoda de a schimba șirurile utilizate de un modul de bază Drupal.
apaderno avatar
drapel us
Comentariul din fișierul *default.settings.php* spune: _Pentru a suprascrie anumite șiruri de pe site-ul dvs. cu sau fără activarea modulului Locale, adăugați o intrare la această listă. Această funcționalitate vă permite să modificați un număr mic de șirurile implicite ale interfeței în limba engleză ale site-ului dvs.._
drapel in
De acord. Lasă-mă să-mi verific setările încă o dată. Prima dată când am făcut această schimbare, nu s-a reflectat
drapel in
Mulțumesc @apaderno, această soluție a funcționat
Puncte:1
drapel de

Ar trebui să adăugați un handler de trimitere personalizat și să setați mesajul acolo.

funcția ahrq_form_alter(&$form, FormStateInterface $form_state, $form_id) {
    else if($form_id == 'comment_comment_form') {
       $form['actions']['submit']['#submit'][] = 'ahrq_comment_form_submit';
    }
}

funcția ahrq_comment_form_submit(&$form, FormStateInterface $form_state) {
  \Drupal::messenger()->addStatus->($this->t('Comentariul tău a fost adăugat pentru revizuire și aprobare'));
}

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.