Điểm:-2

Thay đổi thông báo "Kết quả xử lý hành động" cho một hành động cụ thể

lá cờ in

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?

Stefanos Petrakis avatar
lá cờ in
Bạn đang chỉ định (single =) bên trong cả hai điều kiện; bạn nên so sánh (gấp đôi ==)
lá cờ in
Tôi đã thử điều đó. vẫn không có may mắn
Stefanos Petrakis avatar
lá cờ in
Vui lòng cập nhật mẫu mã của bạn ở trên để phản ánh các chỉnh sửa mà tôi đã đề xuất.
lá cờ in
cập nhật mã của tôi
Kevin avatar
lá cờ in
Bạn đang đọc mảng không chính xác khi sử dụng = để kiểm tra đẳng thức, như tôi đã nói trong câu hỏi bạn đã xóa.
Điểm:0
lá cờ in

Được rồi, đoạn mã dưới đây hoạt động:

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[0] == "Phê duyệt nhận xét"){
        $message = \Drupal::messenger()->addMessage('Thành công! Đã phê duyệt');
      }
      elseif($operations[0] == "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;
  }

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.