Подтвердить что ты не робот

Как удалить throbber из ссылки Drupal 7 Ajax?

мы используем фреймворк drupal 7 ajax для загрузки содержимого на страницу. Когда клика нажата, после связи во время обработки запроса появляется дробилка.

Я не могу найти документацию о том, как установить или удалить throbber. В форме это выглядит очень просто, но с использованием ссылки ajax и пункта меню обратного вызова я не могу найти никакой документации.

Я вижу, что есть переменная $settings, которая может быть передана функции ajax_command_html, но я не вижу никаких документов о том, как ее форматировать.

4b9b3361

Ответ 1

когда вы создаете элемент формы, вам нужно определить свойство "progress":

$mycheckbox=array(
  '#type' => 'checkbox',
  '#title' => 'Load it up',
  '#ajax' => array(
      'callback' => 'ajax_example_callback', 
      'wrapper' => 'checkboxes-div',
      'effect' => 'slide', 
      'progress' => array('type' => 'none'),
    ),
);

Вы можете найти более подробную информацию и примеры здесь

Ответ 2

Вы можете просто скрыть div.ajax-progress-throbber, установив для отображаемого значения значение none:

.ajax-progress-throbber {
  display: none;
}

Может быть полезен модуль, такой как CSS Injector (http://drupal.org/project/css_injector).

Ответ 3

Я нашел ответ на свой вопрос. Важно понять, что есть два способа, которыми ссылки могут быть представлены в Drupal 7. Первый использует старую l() и другой использует массив рендеринга. Многие из функций темы в Drupal используют старый стиль, а когда он используется, он не запускается через drupal_prerender_link(). Это то, что делает предварительную обработку элемента, которая передает настройки с php на уровень js.