Score:-2

แก้ไขข้อความ "ผลการประมวลผลการดำเนินการ" สำหรับการดำเนินการเฉพาะ

ธง in

ฉันมีมุมมองตามการดำเนินการดูเป็นกลุ่ม นี่คือมุมมองตามความคิดเห็นและดำเนินการด้านล่าง:

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 ใครสามารถชี้ข้อผิดพลาดได้หรือไม่?

Stefanos Petrakis avatar
in flag
คุณกำลังกำหนด (single =) ภายในทั้งสองเงื่อนไข คุณควรจะเปรียบเทียบ (สองเท่า ==)
in flag
ฉันพยายามแล้ว ยังไม่มีโชค
Stefanos Petrakis avatar
in flag
โปรดอัปเดตตัวอย่างโค้ดของคุณด้านบนเพื่อแสดงการแก้ไขที่ฉันแนะนำ
in flag
อัปเดตรหัสของฉัน
Kevin avatar
in flag
คุณกำลังอ่านอาร์เรย์ไม่ถูกต้องจากการใช้ = เพื่อตรวจสอบความเท่าเทียมกัน อย่างที่ฉันพูดในคำถามที่คุณลบ
Score:0
ธง in

เอาล่ะ รหัสด้านล่างใช้งานได้:

ฟังก์ชัน 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[0] == "อนุมัติความคิดเห็น"){
        $message = \Drupal::messenger()->addMessage('สำเร็จ! อนุมัติแล้ว');
      }
      elseif($operations[0] == "ไม่อนุมัติความคิดเห็น"){
        $message = \Drupal::messenger()->addMessage('สำเร็จ! ไม่อนุมัติ');
      }
    }
    อื่น {
      $message = \Drupal::messenger()->addWarning('ข้อความแสดงข้อผิดพลาด...');
    }
    ส่งคืน NULL;
  }

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา