ฉันกำลังเขียน WebformHandler แบบกำหนดเองและสงสัยว่าฉันจะป้องกันไม่ให้บันทึกการส่งได้อย่างไร ฉันได้ลองใช้ RESULTS_IGNORED และ SUBMISSION_OPTIONAL ใน @WebformHandler คำอธิบายประกอบแล้ว แต่การส่งยังคงได้รับการบันทึก มีขั้นตอนเพิ่มเติมในวิธีการ submitForm() หรือไม่?
/**
* ตัวจัดการเว็บฟอร์มเนื้อหาพรีเมียม
*
* นี่คือตัวจัดการแบบกำหนดเองเพื่อผูกเข้ากับรูปแบบเนื้อหาพรีเมียมที่จะจัดการ
* เมื่อผู้ใช้ส่งแบบฟอร์มและส่งลิงก์ไปยัง
* เนื้อหาหรือนำไปยังผู้ประมวลผลบัตรเครดิตเพื่อดำเนินการให้เสร็จสิ้น
* ธุรกรรม.
*
* @เว็บฟอร์มแฮนเลอร์(
* id = "ขี้เกียจจัดการ",
* ป้ายกำกับ = @Translation("Lazy Handler"),
* หมวดหมู่ = @Translation("กำหนดเอง"),
* คำอธิบาย = @Translation("บันทึกเฉพาะวันจันทร์"),
* จำนวนสมาชิก = \Drupal\webform\Plugin\WebformHandlerInterface::CARDINALITY_SINGLE
* ผลลัพธ์ = \Drupal\webform\Plugin\WebformHandlerInterface::RESULTS_IGNORED
* ส่ง = \Drupal\webform\Plugin\WebformHandlerInterface::SUBMISSION_OPTIONAL
* )
*/
คลาส LazyWebformHandler ขยาย WebformHandlerBase {
ฟังก์ชันสาธารณะ submitForm (อาร์เรย์ & $form, FormStateInterface $form_state, WebformSubmissionInterface $webform_submission) {
$is_monday = เท็จ;
ถ้า (!$is_monday) {
// ฉันทำบางอย่างที่นี่เพื่อป้องกันไม่ให้บันทึกการส่งหรือไม่
}
}
}