ฉันมีมุมมองตามการดำเนินการดูเป็นกลุ่ม นี่คือมุมมองตามความคิดเห็นและดำเนินการด้านล่าง:
1. เผยแพร่ความคิดเห็น 2. ยกเลิกการเผยแพร่ความคิดเห็น
เมื่อหนึ่งในการกระทำเหล่านี้ถูกเลือกให้ดำเนินการในชุดของเรกคอร์ด ฉันจะเห็นข้อความแสดงความสำเร็จดังต่อไปนี้:
ผลการดำเนินการ: ยกเลิกการเผยแพร่ความคิดเห็น (1)
ฉันต้องการแก้ไขข้อความแสดงความสำเร็จเป็น:
ยกเลิกการเผยแพร่ความคิดเห็นที่เลือกเรียบร้อยแล้ว
ฉันใช้ VBO 4.0.0 ซึ่งมีการอัปเดตข้อความการประมวลผลการกระทำที่กระทำอยู่ในนั้น ไม่มีเงื่อนงำเกี่ยวกับวิธีดำเนินการนี้สำหรับการกระทำเฉพาะ ความช่วยเหลือใด ๆ
อัปเดต:
ด้านล่างนี้คือการทดลองของฉันจนถึงตอนนี้:
ฟังก์ชัน mymod_batch_alter(&$batch) {
foreach ($batch['sets'] เป็น $key => $set) {
$batch['sets'][$key]['finished'] = 'mymod_views_bulk_operations_execute_finished';
}
}
/**
* ใช้ hook_views_bulk_operations_execute_finish()
*/
ฟังก์ชัน mymod_views_bulk_operations_execute_finished ($success, array $results, array $operations) {
ถ้า ($ สำเร็จ) {
$operations = $results['การดำเนินการ'];
if($operations == "อนุมัติความคิดเห็น"){
$message = \Drupal::messenger()->addMessage('สำเร็จ! อนุมัติแล้ว');
}
elseif($operations == "ไม่อนุมัติความคิดเห็น"){
$message = \Drupal::messenger()->addMessage('สำเร็จ! ไม่อนุมัติ');
}
}
อื่น {
$message = \Drupal::messenger()->addWarning('ข้อความแสดงข้อผิดพลาด...');
}
ส่งคืน NULL;
}
รหัสนี้ใช้งานได้ดี แต่มีปัญหาเดียว ทุกครั้ง แม้แต่การกระทำ "ไม่อนุมัติความคิดเห็น" ฉันยังเห็นข้อความ "สำเร็จ! อนุมัติแล้ว" การควบคุมจะผิดเงื่อนไข if ใครสามารถชี้ข้อผิดพลาดได้หรือไม่?