Điểm:0

Tạo khuôn mẫu cho trang chỉnh sửa người dùng

lá cờ us

Tôi đang sử dụng chủ đề startupgrowth lite và tôi muốn tạo chủ đề cho trang chỉnh sửa người dùng của mình, chỉ khi người dùng là 'người kiểm tra' và anh ta đang chỉnh sửa 'hồ sơ người dùng ứng cử viên'.

tôi biết rằng khi tôi muốn sửa đổi biểu mẫu, tôi phải thực hiện bước này:

1- thêm chức năng vào template.php để ghi đè lên trang mẫu:

 function startupgrowth_lite_theme($current, $type, $theme, $path) {
$items['user_profile_form'] = mảng(
    // Biểu mẫu luôn nhận đối số biểu mẫu.
        'đối số' => mảng ('biểu mẫu' => NULL),
        'phần tử kết xuất' => 'biểu mẫu',
        'mẫu' => 'trang--người dùng--chỉnh sửa',
        'path' => drupal_get_path('theme', 'startupgrowth_lite') . '/ mẫu/biểu mẫu',
);
trả lại các mặt hàng $;
}

2- Sau đó, tôi phải tạo một thư mục /template/form/ và đặt trang tệp của tôi--người dùng--edit.tpl.php vào đó và bắt đầu viết mã.

3- xóa bộ đệm và bạn sẽ có kết xuất, nếu không, bạn phải đặt chủ đề quản trị giống như chủ đề của bạn theo mặc định trong trường hợp của tôi (chủ đề khởi động tăng trưởng).

Nhưng trong trường hợp bình thường, tôi phải viết mã <?php print render($form['XXX']); ?> để có trường user_profil_form được đặt tên là 'XXX'.

Tất cả 2 bước đều hoạt động tốt nhưng tôi không biết làm cách nào để có trường biểu mẫu trên trang của mình để sửa đổi tất cả thông tin như tôi muốn hiển thị.

đây là ảnh chụp màn hình về cách tôi muốn hiển thị người dùng chỉnh sửa trang của mình.nhập mô tả hình ảnh ở đây

Điểm:0
lá cờ us

Giải pháp của tôi cho vấn đề này là tạo một chức năng trên một mô-đun tùy chỉnh và in trực tiếp mã của tôi lên trang.

chức năng custommodule_form_alter(&$form, $form_state, $form_id) {
  người dùng $ toàn cầu;
  if($form['#form_id'] == "user_profile_form" && in_array('administrator', $user->roles)){
    tiếng vang $form['form_id']['#value'];
    kết xuất in($form['field1']);
    kết xuất in($form['field2']);
  }
  dpm($form);
}

Tái bút: Tôi chỉ sử dụng điều này để sửa đổi biểu mẫu người dùng cho một số quy tắc trong dự án của mình. Ở đây tôi chọn quản trị viên để chỉ xem trường1trường2 từ tất cả các trường biểu mẫu chẳng hạn.

in_array('quản trị viên', $user->vai trò)

Đă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.