Puncte:-2

Cum să deschideți un formular în mod modal de la controler în timp ce redirecționați

drapel cn

Pot deschide un formular în mod modal când dau clic pe un link (și există și multe exemple pe net).

Ce îmi place să fac: Când cineva merge la o adresă URL în browser sau redirecționează către o adresă URL, se va deschide un formular de dialog/modal.

-Am definit un controler pentru o adresă URL -În funcția controler am plasat codul astfel:

  $răspuns = AjaxResponse nou();
  $titlu = $this->t('Confirmare');
  $form = $this->formBuilder->getForm('Drupal\example\Form\MyModalForm', $entity);
  $response->addCommand(new OpenModalDialogCommand($title, $form, ['width' => '800']));

Dar nu deschide Formularul Modal, ci mai degrabă arată codul json într-o zonă de text. Cu siguranță ar putea lipsi biblioteca casetei de dialog. Așa că am adăugat biblioteca:

    $form['#attached']['library'][] = 'core/drupal.dialog.ajax';

în formă, în preprocesarea paginii etc. Dar niciunul nu funcționează.

Afișează codul json ca acesta (exemplu)

[{"command":"openDialog","selector":"#drupal-modal","settings":null,"data":"Ceva de afișat","dialogOptions":{"width":"800", "modal":true,"title":"Confirmare"}}]

Mă poate ajuta cineva cu privire la cum să deschid dialogul/modalul atunci când vizitez adresa URL?

4uk4 avatar
drapel cn
Aveți nevoie de JavaScript la nivelul clientului pentru a procesa comenzile ajax. Vezi, de exemplu, https://drupal.stackexchange.com/questions/299270/how-do-i-display-a-modal-dialog-on-page-load-with-working-title-and-dialog-opti
Puncte:0
drapel cn

Abordarea sugerată de @4k4 ar putea fi corectă, nu am testat Cum afișez un dialog modal la încărcarea paginii, cu titlu de lucru și opțiuni de dialog, folosind OpenModalDialogCommand?

Ce am facut: Afișat un link și folosind JavaScript la încărcare declanșează linkul, care în cele din urmă deschide dialogul modal.

Aceasta nu este o soluție bună pentru mine.

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.