Я могу вывести в разных местах страницы одинаковые флаги, например "Добавить в избранное". Пусть у меня будет несколько вьюх, в которых материалы будут частично дублироваться.
Если в одном из блоков кликнуть на флаг "Добавить в избранное", то он отработает и изменится на "Удалить из избранного", но только в одном блоке.
Как сделать, чтобы одинаковые флаги у одинаковых материалов обновлялись во всех местах на странице, где они есть?
Есть простой вариант - перезагружать через AJAX блоки целиком, но этот вариант мне не нравится в силу большого расхода трафика. Что посоветуете?
Комментарии
Я так понимаю, надпись в блоке меняется через ajax. Тогда может повесить свой ajax callback на форму и возвращать commands так, чтобы заменились все флаги во всех боках?
Как вариант - делать замену через JQuery, ибо у флага есть такое вот событие:
// Ваш код
});
Возможно, не самое лучшее решение, но просто оставлю его тут до кучи.
Да, тоже вдруг полез в инструкцию к модулю flag
https://drupal.org/node/336122
Тогда стоит делать по нормальному, с использованием Drupal AJAX Framework.
А вообще, оттуда же есть ссылка на вот этот модуль.
Views Flag Refresh