Score:0

การแก้ไข user_admin_account และ user_register_form

ธง ro

ฉันค่อนข้างใหม่สำหรับ 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 แต่ดูเหมือนจะไม่พบสิ่งใดทางออนไลน์

นอกจากนี้ ฉันยังใช้ 'ชื่อ' จากตาราง 'ผู้ใช้' เป็นคีย์หลักในตารางที่กำหนดเองของฉัน ฉันต้องการให้ตารางอัปเดตเมื่อผู้ใช้ถูกลบ ดังนั้นชื่อและนามสกุลในตารางของฉันจึงถูกลบไปด้วย ฉันไม่แน่ใจว่าจะทำอย่างไร ไม่มีใครมีความคิดใด ๆ ?

ถ้าใครสามารถช่วยฉันด้วยคำถามเหล่านี้ได้ก็จะดีมาก ขอบคุณล่วงหน้า.

Jaypan avatar
de flag
"ฉันค่อนข้างแน่ใจว่าฉันทำอะไรผิดเมื่อพูดถึง $query"
berliner avatar
bd flag
ยินดีต้อนรับสู่คำตอบของ Drupal! ฉันค่อนข้างสับสนกับคำถามของคุณ หากคุณได้เพิ่มฟิลด์ให้กับเอนทิตีผู้ใช้ เหตุใดคุณจึงต้องจัดเก็บข้อมูลที่ป้อนสำหรับฟิลด์เหล่านั้น Drupal ดูแลเรื่องนั้น หากฉันเข้าใจผิด โปรดพิจารณาปรับปรุงคำถามของคุณให้ชัดเจน คุณได้ดูโมดูล [ชื่อจริง](https://www.drupal.org/project/realname) แล้วหรือยัง ฉันคิดว่ากรณีการใช้งานของคุณเป็นเรื่องธรรมดามากพอที่จะมีโซลูชันที่ไม่เกี่ยวข้องกับรหัสที่กำหนดเองอยู่แล้ว

โพสต์คำตอบ

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