ฉันมีมุมมองตามบริบทที่แสดงเซสชันหลักสูตรล่าสุดของครูที่หมดอายุแล้ว
ฉันใช้ตัวกรองตามบริบทดังนี้:
ผู้ใช้: UID
โดย:
เมื่อค่าตัวกรองไม่พร้อมใช้งาน
ให้ค่าเริ่มต้นประเภท:
รหัสผู้ใช้จากผู้ใช้ที่เข้าสู่ระบบ
และ
เมื่อค่าตัวกรองพร้อมใช้งานหรือค่าดีฟอลต์มีให้
เกณฑ์การตรวจสอบเฉพาะ
Validator: การตรวจสอบขั้นพื้นฐาน
การดำเนินการหากค่าตัวกรองไม่ผ่านการตรวจสอบ: การเข้าถึงถูกปฏิเสธ
ฉันใช้โมดูล Views Rules ดังนั้นการกำหนดค่าการตั้งค่ากฎจึงเป็นดังนี้:
พารามิเตอร์: แก้ไขข้อมูลตัวกรองตามบริบท
ชนิดข้อมูล: ผู้ใช้
ป้ายกำกับ: ผู้แต่ง
ชื่อ: uid
ตัวแปรแถว: แก้ไขข้อมูลฟิลด์
รหัส: เปิดใช้งาน
ชนิดข้อมูล: เซสชัน
ป้ายกำกับ: ID
ชื่อ: ID
มุมมองปกติและมุมมองกฎทั้งสองทำงานได้ดีเนื่องจากฉันเห็นค่าสุดท้ายอย่างถูกต้อง (แสดงเพียง 1 เซสชัน)
เมื่อฉันสร้างกฎ เมื่อ "Drupal กำลังเริ่มต้น" ฉันต้องการเปลี่ยนเส้นทางครูไปยังหน้าแก้ไขของเซสชันที่หมดอายุนี้ และตั้งค่าบางอย่าง แต่กฎนี้แสดงข้อผิดพลาด:
ข้อผิดพลาด
เว็บไซต์พบข้อผิดพลาดที่ไม่คาดคิด กรุณาลองใหม่อีกครั้งในภายหลัง.
{ "rules_reuse_expired_session_rule" : {
"LABEL": "ใช้กฎเซสชันที่หมดอายุแล้วซ้ำ",
"PLUGIN" : "กฎปฏิกิริยา",
"เจ้าของ" : "กฎ",
"แท็ก" : [ "เพิ่มเซสชัน", "หมดอายุ", "ใช้ซ้ำ", "เซสชัน" ],
"ต้องมี" : [ "กฎ" ],
"เปิด" : { "เริ่มต้น" : [] },
"ถ้า" : [
{ "user_has_role" : {
"บัญชี" : [ "ไซต์:ผู้ใช้ปัจจุบัน" ],
"บทบาท" : { "value" : { "11" : "11", "20" : "20", "2" : "2" } }
}
},
{ "text_matches" : { "text" : [ "site:current-page:url" ], "match" : "t\/session\/add" } }
]
"ทำ" : [
{ "entity_fetch" : {
"การใช้" : { "ประเภท" : "ผู้ใช้", "รหัส" : [ "ไซต์:ผู้ใช้ปัจจุบัน:uid" ] },
"ให้" : { "entity_fetched" : { "uid_fetched" : "ดึง UID" } }
}
},
{ "drupal_message" : { "message" : "\u003Ch3 class=\u0022white\u0022\u003Eนี่คือครู: UID [uid-fetched:uid]\u003C\/h3\u003E " } },
{ "ดูลูป" : {
"VIEW" : "all_my_expired_sessions_teacher",
"DISPLAY" : "views_rules_2",
"กำลังใช้" : { "uid" : [ "ดึง uid" ] },
"ตัวแปรแถว" : { "id" : { "id" : "Id" } },
"ทำ" : []
}
}
]}}
ไม่มีใครรู้ว่าทำไมฉันได้รับข้อผิดพลาดนี้
ถ้าฉันลบการกระทำล่าสุด "VIEW LOOP" ออกไป มันก็ใช้ได้ดี ไม่มีข้อผิดพลาดและข้อความแสดงขึ้น
ถ้าฉันใช้ Rules View อื่นโดยไม่มีตัวกรองตามบริบท ก็ใช้ได้ดี