首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Drupal 8中的ajax_command_append

Drupal 8中的ajax_command_append
EN

Stack Overflow用户
提问于 2016-04-17 04:27:05
回答 1查看 968关注 0票数 0

我想通过ajax在链接上显示一个项目列表。我的链接html是

代码语言:javascript
复制
<a class="get-list use-ajax ajax-processed" href="get-my-list">My List</a>

我可以在Drupal 7中这样做:

代码语言:javascript
复制
return array(
    '#type' => 'ajax',
    '#commands' => array(
      ajax_command_append('#my-wrapper', theme('item_list', array('items' => $my_list, 'attributes' => array('class' => array('my-list'))))),
    ),
  );

如何在Drupal 8中返回这样的ajax回调?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-18 08:31:08

您可能想看看Drupal8AjaxAPI (https://api.drupal.org/api/drupal/core!core.api.php/group/ajax/8)

您可以定义自己的回调函数,或者如果有链接,则可以转到控制器的方法。在这里,您必须定义一个AjaxResponse并在响应中放置命令。

下面是我的项目的一个例子。

链路建立

代码语言:javascript
复制
$build['ajax-link'] = [
        '#title' => '',
        '#type' => 'link',
        '#id' => 'ajax-link',
        '#url' => $url,
        '#ajax' => [
          'event' => 'click',
          'progress' => [
            'type' => 'none',
          ],
        ],
        '#attributes' => [
          'class' => [
            'fa fa-heart-o fa-2x ' . $activeClass,
          ],
          'title' => 'Ajax heart',
        ],
      ];

它调用的控制器方法

代码语言:javascript
复制
$response = new AjaxResponse();
$response->addCommand(new ReplaceCommand('#ajax-link', $this->subscribeElementGenerator->generateSubscribeElement($event)));
return $response;

ReplaceCommand只是重新生成链接来更新它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36672671

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档