У меня есть контекстное представление, в котором перечислены последние просроченные сеансы курса учителя.
Я использую контекстный фильтр следующим образом:
Пользователь: Uid
согласно которому:
КОГДА ЗНАЧЕНИЕ ФИЛЬТРА НЕДОСТУПНО
Укажите значение по умолчанию Тип:
Идентификатор пользователя от вошедшего в систему пользователя
И
ЕСЛИ ЗНАЧЕНИЕ ФИЛЬТРА ДОСТУПНО ИЛИ ПРЕДОСТАВЛЕНО ЗНАЧЕНИЕ ПО УМОЛЧАНИЮ
Особые критерии проверки
Валидатор: базовая проверка
Действие, которое следует предпринять, если значение фильтра не подтверждается: доступ запрещен
Я использую модуль Views Rules, поэтому конфигурация правил выглядит следующим образом:
Параметры: Изменить информацию о контекстном фильтре.
Тип данных: Пользователь
Метка: Автор
Имя: ИД
Переменные строки: изменить информацию о поле
ID: включено
Тип данных: сеанс
Метка: идентификатор
Имя: идентификатор
Это обычное представление и представление правил работают нормально, поскольку я правильно вижу последнее значение. (Отображает только 1 сеанс)
Когда я создаю свое правило, после «Инициализация Drupal» я хочу перенаправить учителя на страницу редактирования этого сеанса с истекшим сроком действия и установить некоторые значения, но это правило выдает ошибку:
ОШИБКА
Сайт обнаружил непредвиденную ошибку. Пожалуйста, повторите попытку позже.
{ "rules_reuse_expired_session_rule": {
"LABEL": "Повторно использовать просроченное правило сеанса",
"ПЛАГИН": "правило реакции",
"ВЛАДЕЛЕЦ" : "правила",
«ТЕГИ»: [«Добавить сеанс», «истек срок действия», «повторное использование», «Сеанс»],
"ТРЕБУЕТ" : [ "правила" ],
«ВКЛ»: { «инициализация»: []},
"ЕСЛИ" : [
{ "user_has_role": {
"аккаунт" : [ "сайт: текущий пользователь" ],
«роли» : { «значение» : { «11» : «11», «20» : «20», «2» : «2» } }
}
},
{ "text_matches" : { "text" : [ "site:current-page:url" ], "match" : "t\/session\/add" } }
],
"ДЕЛАТЬ" : [
{ "entity_fetch": {
«ИСПОЛЬЗОВАНИЕ» : { «тип» : «пользователь», «id» : [ «сайт: текущий пользователь: uid» ] },
"PROVIDE" : { "entity_fetched" : { "uid_fetched" : "UID получен" } }
}
},
{ "drupal_message": { "message": "\u003Ch3 class=\u0022white\u0022\u003EЭто учитель: UID [uid-fetched:uid]\u003C\/h3\u003E" } },
{ "ЦИКЛ ПРОСМОТРА" : {
"ВИД" : "all_my_expired_sessions_teacher",
"ОТОБРАЖЕНИЕ": "views_rules_2",
«ИСПОЛЬЗОВАНИЕ»: { «uid»: [«uid-fetched»] },
«ПЕРЕМНЫЕ СТРОКИ»: { «id»: { «id»: «Id» } },
"ДЕЛАТЬ" : []
}
}
]}}
Кто-нибудь знает, почему я получаю эту ошибку?
Если я удалю это последнее действие «VIEW LOOP», оно будет работать нормально, без ошибок и появится сообщение.
Если я использую другое представление правил без контекстного фильтра, оно работает нормально.