Tôi có chế độ xem dựa trên hoạt động xem hàng loạt. đây là chế độ xem dựa trên nhận xét và thực hiện các hành động bên dưới:
1. Đăng bình luận 2. Hủy đăng bình luận
Khi một trong những hành động này được chọn để thực hiện trên một tập hợp các bản ghi, tôi sẽ thấy một thông báo thành công như bên dưới:
Kết quả xử lý hành động: Unpublish Comment (1).
Tôi muốn thay đổi thông báo thành công là:
(Các) nhận xét được chọn đã được hủy xuất bản thành công
Tôi đang sử dụng VBO 4.0.0 có cam kết cập nhật thông báo xử lý hành động trong đó. Không có đầu mối về cách thức này có thể được thực hiện cho một hành động cụ thể. bất kỳ giúp đỡ?
CẬP NHẬT:
Dưới đây là thử nghiệm của tôi cho đến nay:
hàm mymod_batch_alter(&$batch) {
foreach ($batch['sets'] as $key => $set) {
$batch['sets'][$key]['finished'] = 'mymod_views_bulk_operations_execute_finished';
}
}
/**
* Triển khai hook_views_bulk_operations_execute_finish().
*/
function mymod_views_bulk_operations_execute_finished($success, mảng $results, mảng $operations) {
nếu ($ thành công) {
$operations = $results['operations'];
if($operations == "Phê duyệt nhận xét"){
$message = \Drupal::messenger()->addMessage('Thành công! Đã phê duyệt');
}
elseif($operations == "Từ chối nhận xét"){
$message = \Drupal::messenger()->addMessage('Thành công! Bị từ chối');
}
}
khác {
$message = \Drupal::messenger()->addWarning('Thông báo lỗi...');
}
trả về NULL;
}
Mã này đang hoạt động tốt, nhưng chỉ có một vấn đề. mọi lúc, ngay cả đối với hành động "từ chối nhận xét", tôi đều thấy thông báo "Thành công! Đã phê duyệt". Kiểm soát đang đi vào sai if-điều kiện. Ai đó có thể chỉ ra sai lầm?