Puncte:1

Dialogul Ajax drupal nu respectă opțiunea de dialog

drapel cn

Eu am:

$options['attributes']['class'][] = 'use-ajax';
$options['attributes']['data-dialog-type'] = 'modal';
$options['attributes']['data-dialog-options'] = json_encode([
  'lățime' => 375,
]);

întoarcere [
  '#markup' => Link::createFromRoute(
    t('Link-ul meu'),
    $rută,
    [],
    $opțiuni
  )->toString()
];

care generează un link așa cum era de așteptat:

<a href="/node/1" class="use-ajax" data-dialog-type="modal" data-dialog-options="{&quot;width&quot;:375}">My link</a>

Cu toate acestea, când dialogul se deschide, are întotdeauna 800px setat ca lățime, cum îl fac să se deschidă la lățimea setată în apelul json_encode?

Div-ul de dialog deschis arată astfel:

<div style="position: fixed; height: auto; width: 800px; top: 310.133px; left: 683px; z-index: 101;" tabindex="-1" role="dialog" class="ui-dialog ui-corner-all ui-widget ui-widget-content ui-front" aria-describedby="drupal-modal" aria-labelledby="ui-id-1">
4uk4 avatar
drapel cn
Nu știu dacă acest lucru este obligatoriu, dar este posibil ca opțiunile de dialog să fie ignorate atunci când nu definiți `data-dialog-type`.
drapel cn
Am adăugat marcajul redat la întrebare. Elementul specifică 800px, așa că nu cred că tema îl înlocuiește.
drapel cn
@4k4 Am încercat să adaug un tip și am actualizat întrebarea în consecință. Din pacate nu a ajutat.
4uk4 avatar
drapel cn
Am testat codul și ai nevoie de tip, altfel modalul nu se deschide deloc. În caz contrar, codul este OK, nu se poate reproduce problema.
drapel cn
Este foarte interesant, pentru că modalul mi s-a deschis și înainte. O_o Probabil că fac ceva prost, dar nu-mi dau seama ce...
No Sssweat avatar
drapel ua
Comutați la tema Bartik și testați acolo.
drapel cn
Bartik este o idee bună, din păcate, redarea meniului în care fac legătura cu modalul de acolo s-a rupt și nu mă pot deranja să petrec timp pentru a remedia asta. Probabil că voi încerca să trec prin redarea dialogului și să văd cum tratează parametrii de intrare.

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.