首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在主题中重写ajax-进度-throbber?

如何在主题中重写ajax-进度-throbber?
EN

Drupal用户
提问于 2018-10-03 17:20:03
回答 1查看 5.4K关注 0票数 1

在我的Drupal 7站点中,我创建了一个自定义主题。在我的主题中,我希望更改AJAX进度throbber HTML结构,默认情况下,该结构如下。

代码语言:javascript
复制
<div class="ajax-progress ajax-progress-throbber"><div class="throbber"> </div><div class="message">Please wait...</div></div>

我搜索了很多关于这个问题,但我找不到任何有用的文件或样本。

EN

回答 1

Drupal用户

发布于 2020-06-17 09:37:29

对于Drupal 8,有一种新的方法可以按照这个变化记录来实现

将以下内容添加到相应的文件中

THEMENAME.info.yml

代码语言:javascript
复制
libraries-extend:
  core/drupal.ajax:
    - THEMENAME/throbber

THEMENAME.libraries.yml

代码语言:javascript
复制
throbber:
  css:
    css/throbber.css: {}
  js:
    js/throbber.js: {}
  dependencies:
    - core/jquery
    - core/drupal

js/throbber.js

代码语言:javascript
复制
/**
 * @file
 * Replaced Drupal cores ajax throbber(s), see: https://www.drupal.org/node/2974681
 *
 */
(function ($, Drupal) {
  Drupal.theme.ajaxProgressThrobber = function () {
    return "<div class=\"ajax-spinner ajax-spinner--inline\"><span class=\"ajax-spinner__label\">" + Drupal.t('Loading …', {}, {
      context: "Loading text for Drupal cores Ajax throbber (inline)"
    }) + "</span></div>";
  };
  
  Drupal.theme.ajaxProgressIndicatorFullscreen = function () {
    return "<div class=\"ajax-spinner ajax-spinner--fullscreen\"><span class=\"ajax-spinner__label\">" + Drupal.t('Loading …', {}, {
      context: "Loading text for Drupal cores Ajax throbber (fullscreen)"
    }) + "</span></div>";
  };
    // You can also customize only throbber message:
    // Drupal.theme.ajaxProgressMessage = message => '<div class="my-message">' + message + '</div>';
})(jQuery, Drupal);

css/throbber.css

代码语言:javascript
复制
// optional code of your ajax-spinner classes

另一种选择是使用阿贾克斯_装载机模块,它允许您自定义throbber。

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

https://drupal.stackexchange.com/questions/270354

复制
相关文章

相似问题

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