О проекте

Данный сайт попытка повысить коммуникацию самых активных разработчиков на CMS Drupal - блоггеров. Если Вы ведете свой блог о Друпале, значит Вы готовы делиться вашими знаниями, помочь другим. Не всегда ваши знания доходят до потребителя. Задача данного сайта агрегировать знания различных блогов в единую ленту и привести на Ваши блоги активных пользователей.

Активность пользователей на Вашем сайте будет дополнительным стимулом к дальнейшей работе.

Удачи во всех Ваших начинаниях!

Ajax

Drupal: Добавить класс определённому элементу перед выполнением ajax запроса

-4 votes
+
-

Очень часто перед выполнением ajax запроса нужно добавить какому-то элементу определённый класс, а после получения ответа убрать его, чтобы например показать какую-нибудь анимашу, мол keep calm и всё такое.
Реализовать можно с помощью создания собственного типа ajax-прогресса:

Drupal: Чиним onclick на ajax кнопках

-1 votes
+
-

В седьмом друпале есть фантомный баг с ajax кнопками — если попытаться навесить на такую кнопку onclick, то он не сработает, так как после события mousedown кнопка дизаблится и последующие события не вызываются. Фантомный он потому, что если ответ от сервера придёт очень быстро (например на локальном компьютере где пинги нулевые), то onclick таки выполнится.

Drupal: Запретить установку ajax-кнопке атрибута disabled при клике

1 vote
+
-

Друпал при клике на ajax кнопку устанавливает ей атрибут disabled для запрета повторной отправки формы до того, как придёт ответ. Чтобы запретить такое поведение и разрешить многократное нажатие ajax-кнопки, нужно во-первых, подключить js файл со следующим кодом:

Drupal: Многошаговая форма на AJAX

2 votes
+
-

Чтобы сделать навигацию по многошаговой форме на AJAX нужно:
1. Добавить форме div враппер с уникальным id:

Drupal: AJAX кнопка обновления корзины + пересчёт цены при измении количества

2 votes
+
-

Задача — аяксифицировать кнопку "Update cart" и поля ввода количества товара.
Кнопка обновления корзины будет работать на немного изменённом коде из поста AJAX удаление товаров из корзины Drupal Commerce. А с полями "Количество" можно схитрить и воспользоваться свойством trigger_as, чтобы не писать отдельный callback.

Drupal: Отправить Webform-у с помощью AJAX

2 votes
+
-

Пример отправки веб-формы webform_client_form_123 с помощью AJAX:

Drupal: AJAX submit с валидацией

1 vote
+
-

Пример ajax формы с валидацией:

Drupal: Добавить класс элементу пославшему друпаловский ajax запрос

3 votes
+
-

Код добавляет элементу, инициализировавшему друпаловский ajax запрос (ссылка, кнопка), класс ajax-loading и удаляющий этот класс после завершения запроса:

Drupal: Модуль Commerce Fast Ajax Add to Cart — ajax кнопка "Добавить в корзину"

1 vote
+
-

Как выяснилось, стандартный способ добавления товаров в корзину через #ajax довольно прожорлив. Например при выводе 30 товаров на одной странице, мы получим 60 новых записей в таблице cache_form на один хит. Каждая запись это 10-20 kb данных.