Подскажите, пожалуйста, как правильно настроить Rules , чтобы пользователь одним кликом смог снять все его "Закладки"?
"Закладки" добавляются модулем Flag
Пробовал добавить пустой флаг "Очистить закладки"
И настроить Rules - не получается настроить
Попробуйте модуль Rules Link - запускает рулез при клике на ссылку, а в правилах поставить Fetch Entity by property в этом самом проперти поставить flagged. А дальше в actions поставить unflag.
Суть правила:
Срабатывать при постановке (и снятия флага - не обязательно, если состояние флага все равно будем сбрасывать в действиях) "clear_button"
Действия:
Trim:
сначала флаг "Закладок"
затем флаг "clear_button"
Затем переадресовываем пользователя на другую страницу, чтоб ему не оставаться на едине с пустой страницей.
UPD
Если выводить Views-ом добавленные материалы, то нужно сделать кнопку "очистить"
Если на эту кнопку поставить ссылку с любого материала, то работать будет для всех кроме Анонимных.
Для анонимных генерится другая ссылка.
Чтобы ссылка для всех была актуальной, можно добавить во Views отношение к флагу, который очищает; добавить поле с ссылкой на этот флаг и скрыть поле.
Дальше можно, к примеру в шапке этого Views добавить "Глобальный: Текстовое поле" и "Использовать шаблон подстановки из первой строки" - подставляем значение скрытого поля, который ссылается на флаг "Очистить"
На странице вьювс где собираются отмеченные флагом ноды, создал кнопку для сброса всех флагов.
Для кнопки взял ссылку флага "clear_button" любой ноды - и все работает
На странице вьювс где собираются отмеченные флагом ноды, создал кнопку для сброса всех флагов.
Для кнопки взял ссылку флага "clear_button" любой ноды - и все работает
Т.е. допустим у меня есть 5 флагов (закладки, мне нравиться, в избранное и тд) я создаю еще один флаг - clear flag для материалов выбираю там например флаг мне нравиться.
Создаю вьху где вывожу все ноды отмеченные флагом мне нравиться, в шапку добавляю ссылку ()код вывода флага) на флаг - clear flag
и после создания вашего рулса при клике на флаг сбросяться все флаги да?
А зачем редирект, почему нельзя показывать пустое представление без добавленных флагов?
Опа! тажа беда
у меню юзера флагируют термин таксономии, и мне нужно чтобы когда кол-во флагов термина настигло 50, поменять поле у термина, и сбросить снова в 0 флаги термина, соответственно, чтобы у юзеров голосовавших тоже был эффект что они не голосовали
Дошло
в экшене
1) Fetch users who have flagged a Термин таксономии - позволяет добраться до юзеров кто вообще флагил текущий контент
2)Loop - сформировать переменную со списком всех этих юзеров
2.1) Unflag a Термин таксономии - отфлагировать юзеров из списка от текущего контента
Комментарии
Попробуйте модуль Rules Link - запускает рулез при клике на ссылку, а в правилах поставить Fetch Entity by property в этом самом проперти поставить flagged. А дальше в actions поставить unflag.
у меня рулес лик не хочет запускать при клике по ссылке кастомной в блоке. у меня это вышло с рулес линкевант.
но если к ноде привязать рулес линкс может быть и сработает...
Друзья, спасибо.
Мое решение обошлось двумя модулями Flag + Rules
Решение: https://drupal.org/node/956902#comment-3647776
Скрин моего рулса для Drupal 7
Суть правила:
Срабатывать при постановке (и снятия флага - не обязательно, если состояние флага все равно будем сбрасывать в действиях) "clear_button"
Действия:
Trim:
сначала флаг "Закладок"
затем флаг "clear_button"
Затем переадресовываем пользователя на другую страницу, чтоб ему не оставаться на едине с пустой страницей.
UPD
Если выводить Views-ом добавленные материалы, то нужно сделать кнопку "очистить"
Если на эту кнопку поставить ссылку с любого материала, то работать будет для всех кроме Анонимных.
Для анонимных генерится другая ссылка.
Чтобы ссылка для всех была актуальной, можно добавить во Views отношение к флагу, который очищает; добавить поле с ссылкой на этот флаг и скрыть поле.
Дальше можно, к примеру в шапке этого Views добавить "Глобальный: Текстовое поле" и "Использовать шаблон подстановки из первой строки" - подставляем значение скрытого поля, который ссылается на флаг "Очистить"
Скажите а при создание флага вы выбирали вариант для материалов да? И эта кнопка для всех сущностей (нод) работает???
Не понятно как флаг сбрасывает все флаги у конкретной ноды например.
Кстати а если создать правило для flagging и там выбрать флаг конкретной ноды и уже для этого правило создавать?
Да, для материалов.
На странице вьювс где собираются отмеченные флагом ноды, создал кнопку для сброса всех флагов.
Для кнопки взял ссылку флага "clear_button" любой ноды - и все работает
у вас тут снятие всех флагов одного пользователя или снятие всех флагов всех пользователей одного флага?
Т.е. допустим у меня есть 5 флагов (закладки, мне нравиться, в избранное и тд) я создаю еще один флаг - clear flag для материалов выбираю там например флаг мне нравиться.
Создаю вьху где вывожу все ноды отмеченные флагом мне нравиться, в шапку добавляю ссылку ()код вывода флага) на флаг - clear flag
и после создания вашего рулса при клике на флаг сбросяться все флаги да?
А зачем редирект, почему нельзя показывать пустое представление без добавленных флагов?
сброса вообще всех флагов или для конкретной ноды (для каждой ноды на вьюхе свои флаги выводяться).
Вопщем ваше решение не понятно для чего придумано ИБО сбрасываются ВСЕ флаги а не флаги для отдельной ноды. Ваша задача кончено решаема.
Но у меня задача другая снять все флаги всех пользователей конкретной ноды.
Пробовали поставить выполнение правила по таким условиям?:
для определенной роли
для текущей ноды
Действие:
Трим выбранные флаги
так в этом и трудность где там такое в условиях рулесов есть???
Опа! тажа беда
у меню юзера флагируют термин таксономии, и мне нужно чтобы когда кол-во флагов термина настигло 50, поменять поле у термина, и сбросить снова в 0 флаги термина, соответственно, чтобы у юзеров голосовавших тоже был эффект что они не голосовали
2 iNFerNo - вы решили проблемму?
Дошло
в экшене
1) Fetch users who have flagged a Термин таксономии - позволяет добраться до юзеров кто вообще флагил текущий контент
2)Loop - сформировать переменную со списком всех этих юзеров
2.1) Unflag a Термин таксономии - отфлагировать юзеров из списка от текущего контента
я выбирая Fetch users who have flagged a Содержание и Unflag a Содержание
при клике на флаг скидывается тупо другой флаг у текущего юзера которые сбрасывает флаги...
скриншот прилагается... (подскажите что не так???)