Điểm:0

Thay đổi user_admin_account và user_register_form

lá cờ ro

Tôi khá mới với Drupal và tôi đang cố gắng xây dựng mô-đun tùy chỉnh Drupal 7 để thay đổi bảng danh sách người dùng trong quản trị viên/mọi người. Tôi muốn hiển thị tên và họ của người dùng. Tôi đã thêm các trường văn bản vào biểu mẫu đăng ký người dùng trong admin/config/people/account-settings/manage-fields và tôi đã quản lý để lưu trữ thông tin nhập của người dùng trong bảng cơ sở dữ liệu của mình. Tôi đã thêm các trường bổ sung vào bảng danh sách người dùng nhưng không thể tìm ra cách truy xuất các giá trị từ bảng cơ sở dữ liệu của mình và xuất chúng.

Đây là những gì tôi có cho đến nay trong tệp .module của mình:

<?php

/**
 * Triển khai hook_form_FORMID_alter()
 * @param $form
 * @param $form_state
 * @param $form_id
 * @return $form
 */
function wdt_user_fields_form_user_admin_account_alter(&$form, $form_state, $form_id) {
  //Thêm trường 'Tên' của người dùng vào biểu mẫu 'user_admin_account'
  $name_header = mảng(
    'f_name' => mảng('data' => t('First Name'), 'field' => 'wdt.first_name'),
    'l_name' => mảng('dữ liệu' => t('Họ'), 'trường' => 'wdt.last_name'),
  );

  // Trường địa điểm
  array_splice($form['accounts']['#header'], 1, 0, $name_header);

  foreach($form['accounts']['#options'] as $key => $value) {
    $query = db_select('wdt_user_fields', 'wdt')
      -> trường ('wdt', mảng ('first_name', 'last_name'))
      ->điều kiện('wdt.wdt_username', $key)
      ->thực thi()
      ->fetchAssoc();

  }

  $form['máy nhắn tin'] = mảng('#markup' => chủ đề('máy nhắn tin'));
  trả về biểu mẫu $;
}

/**
 * Triển khai hook_user_insert()
 * @param $chỉnh sửa
 * tài khoản @param $
 * @param $category
 */
function wdt_user_fields_user_insert(&$edit, $account, $category) {
  db_insert('wdt_user_fields')
    -> trường (mảng (
      'wdt_username' => $account->name,
      'first_name' => $edit['field_first_name']['und'][0]['value'],
      'last_name' => $edit['field_last_name']['und'][0]['value'],
    ))->thực thi();
}

Tôi khá chắc chắn rằng mình đã làm sai điều gì đó khi nói đến phần $query nhưng dường như tôi không thể tìm thấy bất cứ điều gì trực tuyến.

Ngoài ra, tôi đã sử dụng 'tên' từ bảng 'người dùng' làm khóa chính trong bảng tùy chỉnh của mình. Tôi muốn bảng của mình được cập nhật khi người dùng bị xóa, vì vậy họ và tên trong bảng của tôi cũng bị xóa. Tôi không chắc chắn làm thế nào để làm điều này. Có ai có ý tưởng nào?

Nếu bất cứ ai có thể giúp tôi với bất kỳ câu hỏi nào trong số này thì thật tuyệt. Cảm ơn trước.

Jaypan avatar
lá cờ de
"Tôi khá chắc chắn rằng tôi đã làm sai điều gì đó khi nói đến truy vấn $"
berliner avatar
lá cờ bd
Chào mừng bạn đến với Câu trả lời của Drupal! Tôi hơi bối rối trước câu hỏi của bạn. Nếu bạn đã thêm các trường vào thực thể người dùng, tại sao bạn cần lưu trữ dữ liệu đã nhập cho các trường đó? Drupal lo việc đó. Nếu tôi hiểu nhầm điều đó, hãy xem xét cập nhật câu hỏi của bạn để làm rõ. Bạn đã xem mô-đun [tên thật](https://www.drupal.org/project/realname) chưa? Tôi nghĩ rằng trường hợp sử dụng của bạn đủ phổ biến để có một giải pháp không liên quan đến mã tùy chỉnh.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.