Score:1

วิธีเรียกใช้การดำเนินการแบบกำหนดเองใน Views

ธง kz

ฉันมีมุมมองที่แสดงรายการบางโหนด แต่ละโหนดอินสแตนซ์มีบูลีน - "สแปม" ซึ่งมีค่าเริ่มต้นเป็น FALSE

ในมุมมองนี้จะมีคอลัมน์ "การดำเนินการ" ซึ่งจะต้องมีลิงก์พร้อมข้อความยึดเหนี่ยว "ตั้งค่าสถานะเป็นสแปม" เมื่อผู้ใช้คลิกลิงก์นั้น ค่าของฟิลด์บูลีนสแปมสำหรับโหนดนั้นจะกลายเป็น "จริง"

ฉันพบบทช่วยสอนนี้: https://www.drupal.org/docs/7/creating-custom-modules/howtos/how-to-add-a-column-with-dynamically-generated-action-buttons - แต่สำหรับ Drupal 7

อย่างไรก็ตาม ฉันต้องทำอย่างไรเพื่อแสดงรายการการดำเนินการที่กำหนดเอง (พร้อมลิงก์หรือปุ่มที่คลิกได้) ในคอลัมน์ "การดำเนินการ" ที่สร้างโดย Views

miststudent2011 avatar
fr flag
บางทีคุณอาจลองแบบนี้ https://drupal.stackexchange.com/questions/295329/custom-action-plugin-with-configurationform
sonfd avatar
in flag
สิ่งเหล่านี้ไม่ใช่ "การกระทำ" แต่เป็น "การดำเนินการ" การดำเนินการจะใช้สำหรับการดำเนินการดูจำนวนมาก
Free Radical avatar
kz flag
@sonfd ขอบคุณมากสำหรับการแก้ไขของคุณ ฉันได้แก้ไขคำถามเพื่อใช้คำศัพท์ที่ถูกต้อง
Score:1
ธง in

นั่นคือ "ปฏิบัติการ" ฟิลด์มุมมองนั้นถูกควบคุมโดย การดำเนินงานของเอนทิตี สนาม.

ค่อนข้างง่ายที่จะเพิ่มการดำเนินการใหม่สำหรับเอนทิตีโดยการนำไปใช้ hook_entity_operation.

ใช้ Drupal\Core\Entity\EntityInterface;
ใช้ Drupal\Core\Url;

/**
 * ใช้ hook_entity_operation()
 */
ฟังก์ชัน mymodule_entity_operation (\Drupal\Core\Entity\EntityInterface $entity) {
  $การดำเนินการ = [];
  ถ้า ($entity->getEntityTypeId() == 'node' && someOtherCondition($entity)) {
    $operations['flag_as_spam'] = [
      'title' => t('ตั้งค่าสถานะเป็นสแปม'),
      // แทนที่ด้วยเส้นทางที่คุณสร้างเพื่อตั้งค่าโหนด
      'url' => Url::fromRoute('entity.node.canonical', ['node' => $entity->id()]),
      'น้ำหนัก' => 50,
    ];
  }
  ส่งคืน $operation;
}

โพสต์คำตอบ

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