ฉันพบหลายบทความพร้อมคำถามเดียวกันนี้ แต่คำตอบมักจะแตกต่างจากหัวข้ออื่น ๆ ไม่เช่นนั้นจะไม่ได้ผลสำหรับความต้องการของฉัน
หลังจากบันทึกโหนดฉันต้องการให้โมดูลที่กำหนดเองของฉันแทรกแถวลงในหนึ่งในตารางที่กำหนดเองซึ่งมี nid ของโหนดใหม่ เมื่อhook_node_submitมีการเรียก nid ยังไม่มีอยู่ hook_node_insertมี nid แต่ถูกเรียกเพียงครั้งแรกที่โหนดถูกบันทึก แต่ฉันอาจต้องดำเนินการทุกครั้งที่มีการบันทึกโหนด
แผนของฉันคือการแยกการทำงานของฉันออกเป็นวิธีการของตัวเองและใช้ทั้งสอง hooks แต่ฉันพยายามเรียนรู้ที่จะทำสิ่งต่าง ๆ กับ Drupal อย่างเหมาะสมดังนั้นฉันจึงสงสัยว่ามีตะขอที่ตรงกับความต้องการของฉันหรือไม่
มีตะขอซึ่งเรียกว่าทุกครั้งที่มีการบันทึกโหนดและเรียกว่าหลังจากการบันทึกเสร็จสมบูรณ์หรือไม่
hook_node_submitแต่ไม่ใช่hook_node_updateเหรอ?
                hook_node_insert hook_node_update
                hook_node_insert()และhook_node_update()เป็น hooks ที่ถูกต้องสำหรับสิ่งนี้hook_node_submit()ถูกเรียกใช้ในระหว่างกระบวนการส่งแบบฟอร์มก่อนที่จะบันทึกโหนด อย่าลืมว่าคุณต้องล้างแคชเมื่อใดก็ตามที่คุณเพิ่ม / เอาตะขอออก
                
hook_node_insertและhook_node_update(ทำหน้าที่ทุกครั้งที่มีการบันทึกโหนด)