หากคุณไม่ต้องการที่จะบันทึกข้อมูลภาคสนามที่ไม่ก่อให้เกิดเหตุการณ์มาตรฐานและการกระทำที่จะเกิดขึ้นแล้วคุณสามารถใช้drupal_write_record
นี่คือตัวอย่างการแทรก Hello World ลงในฟิลด์เนื้อหาสำหรับโหนดของบทความประเภทที่มี id เป็น 1
$values = array(
'entity_type' => 'node',
'bundle' => 'article',
'entity_id' => 1,
'revision_id' => 1,
'language' => 'und',
'delta' => 0,
'body_value' => 'HELLO WORLD',
'body_summary' => '',
'body_format' => 'filtered_html',
);
drupal_write_record('field_data_body', $values);
drupal_write_record('field_revision_body', $values);
หากไซต์ของคุณเป็นหลายภาษาคุณจะต้องใช้ 'en' หรือภาษาของเนื้อหาแทน 'und'
หากคุณกำลังทำการแก้ไขคุณจะต้องระมัดระวังในการใส่รหัสการแก้ไขที่ถูกต้องมิฉะนั้นคุณสามารถแทรกค่าเดียวกับเอนทิตี้ของ
โปรดสังเกตว่าข้อมูลนี้ถูกแทรกลงในสองตาราง field_data_ * และ field_revision_ * คุณควรแทรกทั้งสองอย่างเพื่อให้แน่ใจว่าไซต์ทำงานตามที่ต้องการ
หลังจากใช้งานแล้วคุณจะต้องล้างแคชเพื่อให้ฟิลด์ปรากฏขึ้นทั้งนี้ขึ้นอยู่กับการตั้งค่าแคชของคุณ
field_attach_update
?