ฉันค่อนข้างใหม่สำหรับ Drupal และฉันกำลังพยายามสร้างโมดูลที่กำหนดเองของ Drupal 7 เพื่อแก้ไขตารางรายชื่อผู้ใช้ในผู้ดูแลระบบ/บุคคล ฉันต้องการแสดงชื่อและนามสกุลของผู้ใช้
ฉันได้เพิ่มฟิลด์ข้อความในแบบฟอร์มการลงทะเบียนผู้ใช้ใน admin/config/people/account-settings/manage-fields แล้ว และฉันก็จัดการเพื่อจัดเก็บอินพุตของผู้ใช้ในตารางฐานข้อมูลของฉัน ฉันได้เพิ่มฟิลด์พิเศษลงในตารางรายชื่อผู้ใช้แล้ว แต่ไม่สามารถหาวิธีดึงค่าจากตารางฐานข้อมูลของฉันและแสดงผลออกมา
นี่คือสิ่งที่ฉันมีในไฟล์ .module ของฉัน:
<?php
/**
* ใช้ hook_form_FORMID_alter()
* @param $แบบฟอร์ม
* @param $form_state
* @param $form_id
* @return $แบบฟอร์ม
*/
ฟังก์ชัน wdt_user_fields_form_user_admin_account_alter(&$form, $form_state, $form_id) {
// การเพิ่มฟิลด์ 'ชื่อ' ของผู้ใช้ในแบบฟอร์ม 'user_admin_account'
$name_header = อาร์เรย์(
'f_name' => array('data' => t('ชื่อ'), 'field' => 'wdt.first_name'),
'l_name' => array('data' => t('นามสกุล'), 'field' => 'wdt.last_name'),
);
// ใส่ฟิลด์
array_splice($form['accounts']['#header'], 1, 0, $name_header);
foreach($form['accounts']['#options'] as $key => $value) {
$query = db_select('wdt_user_fields', 'wdt')
->เขตข้อมูล ('wdt', อาร์เรย์ ('first_name', 'last_name'))
->เงื่อนไข ('wdt.wdt_username', $key)
->ดำเนินการ ()
->fetchAssoc();
}
$form['เพจเจอร์'] = array('#markup' => ธีม('เพจเจอร์'));
คืนฟอร์ม $;
}
/**
* ใช้ hook_user_insert()
* @param $แก้ไข
* @param $บัญชี
* @param $หมวดหมู่
*/
ฟังก์ชัน wdt_user_fields_user_insert(&$edit, $account, $category) {
db_insert('wdt_user_fields')
->เขตข้อมูล(อาร์เรย์(
'wdt_username' => $account->ชื่อ,
'first_name' => $edit['field_first_name']['und'][0]['value'],
'last_name' => $edit['field_last_name']['und'][0]['value'],
))->ดำเนินการ ();
}
ฉันค่อนข้างแน่ใจว่าฉันทำอะไรผิดเมื่อพูดถึงส่วนของ $query แต่ดูเหมือนจะไม่พบสิ่งใดทางออนไลน์
นอกจากนี้ ฉันยังใช้ 'ชื่อ' จากตาราง 'ผู้ใช้' เป็นคีย์หลักในตารางที่กำหนดเองของฉัน ฉันต้องการให้ตารางอัปเดตเมื่อผู้ใช้ถูกลบ ดังนั้นชื่อและนามสกุลในตารางของฉันจึงถูกลบไปด้วย ฉันไม่แน่ใจว่าจะทำอย่างไร ไม่มีใครมีความคิดใด ๆ ?
ถ้าใครสามารถช่วยฉันด้วยคำถามเหล่านี้ได้ก็จะดีมาก ขอบคุณล่วงหน้า.