如何在不使用链接的情况下在Drupal 8中打开模态?

eso*_*sod 6 ajax modal-dialog drupal-8

模式不是由用户单击的页面上的链接触发的.当用户到达URL时触发模态.

想象一下,一旦用户到达网址就会弹出免责声明.

jhe*_*rom 8

您可以使用此Drupal.dialog功能.

例如:

var $myDialog = $('<div>My dialog text</div>').appendTo('body');
Drupal.dialog($myDialog, {
  title: 'A title',
  buttons: [{
    text: 'Close',
    click: function() {
      $(this).dialog('close');
    }
  }]
}).showModal();
Run Code Online (Sandbox Code Playgroud)

再看node.preview.js另一个例子.

更新:要将此与AJAX请求/响应一起使用:

Drupal.ajax({
  url: 'some/path',
  success: function(response) {
    var $myDialog = $('<div>' + response.data + '</div>').appendTo('body');
    Drupal.dialog($myDialog, {title: 'Some title'}).showModal();
  }
}).execute();
Run Code Online (Sandbox Code Playgroud)