Làm cách nào để ẩn một trường khi tạo nút, nhưng hiển thị nó khi chỉnh sửa chế độ?
Làm cách nào để ẩn một trường khi tạo nút, nhưng hiển thị nó khi chỉnh sửa chế độ?
Câu trả lời:
Nếu tôi hiểu câu hỏi của bạn, tôi nghĩ rằng bạn có thể sử dụng một mô-đun tùy chỉnh (trong ví dụ này, tên của mô-đun là test_remove_field
) và bao gồm mã sau đây:
function test_remove_field_form_alter(&$form, &$form_state) {
if (arg(0) == 'node' && arg(1) == 'add') {
$form['field_test']['#access'] = 0;
}
}
Lưu ý: hãy nhớ rằng đó field_test
phải là tên trường tương ứng của bạn.
Các Dòng Quyền mô-đun cho phép bạn thiết lập quyền cấp cơ sở:
Bạn có thể sử dụng các tùy chọn này để bật quyền dựa trên vai trò cho một trường.
Khi quyền được bật, quyền truy cập vào trường này bị từ chối theo mặc định và quyền rõ ràng phải được cấp cho vai trò người dùng phù hợp từ trang quản trị quyền. Mặt khác, khi các tùy chọn này bị vô hiệu hóa, quyền của trường được kế thừa từ chế độ xem nội dung và / hoặc quyền chỉnh sửa. Ví dụ: người dùng được phép xem một nút cụ thể cũng sẽ có thể xem trường này, v.v.
Quyền trường
Tôi sẽ sử dụng hook_form_alter () và đặt thuộc ['#access']
tính FALSE
giống như câu trả lời của @ moon.watcher.
Nếu bạn đang ở Drupal 6, bạn cần một mô-đun để thực hiện việc này. Trong Drupal 7, bạn có thể gọi hook_form_alter () từ mẫu của bạn.
Đây là trường hợp sử dụng cho Mô-đun hỗ trợ biểu mẫu quy tắc - https://www.drupal.org/project/rules_forms .
Các tính năng bao gồm:
- Kích hoạt các sự kiện để tạo biểu mẫu, xác thực và gửi trên cơ sở từng mẫu.
- Nhắm mục tiêu các yếu tố hình thức cá nhân hoặc toàn bộ hình thức trong điều kiện và hành động. Thao tác các thuộc tính của một yếu tố hình thức như tiêu đề, mô tả, trọng lượng, v.v.
- Xác thực các giá trị của các thành phần biểu mẫu trong khi xác thực mẫu.
- Đặt lỗi biểu mẫu khi xác thực dựa trên quy tắc không thành công.
- Chuyển hướng người dùng đến một trang khác khi xem hoặc gửi biểu mẫu.
- Kiểm tra các thuộc tính của các phần tử trong các hình thức hoạt động với công cụ kiểm tra phần tử.