Điểm:0

Làm rõ sự khác biệt giữa hook_form_TYPE_alter và hook_form_TYPE_EDIT_alter

lá cờ ng

Tôi có một trang web có nhiều thay đổi biểu mẫu móc cho biểu mẫu nút và tôi nhận thấy rằng tôi phải tạo hai hàm móc riêng biệt để tác động cả hai biểu mẫu tạo nút và chỉnh sửa nút.

Ví dụ: tôi phải đặt cả hai:

module_events_form_node_event_form_alter()

module_events_form_node_event_edit_form_alter()

Với cùng một chức năng trong cả hai chức năng để nó bao gồm cả các nút mới và nút đã chỉnh sửa. Có cách nào để có một hook_form_alter() bao gồm cả hai điều kiện biểu mẫu không?

Điểm:2
lá cờ cn

Bạn có thể sử dụng ID biểu mẫu đầy đủ với loại nội dung và hoạt động hoặc ID biểu mẫu cơ sở nút_form. Đây là không có thao tác mà còn thiếu loại nội dung. Vì vậy, khi bạn thay đổi biểu mẫu cơ sở, bạn phải kiểm tra một loại nội dung cụ thể nếu bạn không muốn thay đổi tất cả các biểu mẫu nút:

/**
 * Triển khai hook_form_BASE_FORM_ID_alter().
 */
function mymodule_form_node_form_alter(&$form, FormStateInterface $form_state, $form_id) {
  $node = $form_state->getFormObject()->getEntity();
  if ($node->getType() == 'sự kiện') {
    // thay đổi dạng nút cho sự kiện loại nội dung và bất kỳ thao tác nào
  }
}
quantumized avatar
lá cờ ng
Để làm rõ, nếu tôi sử dụng ID biểu mẫu với loại nội dung thì tôi phải sử dụng hai chức năng để tính cả biểu mẫu mới và biểu mẫu chỉnh sửa nhưng nếu tôi chỉ sử dụng hook_form_alter và kiểm tra loại thì tôi không sử dụng, đúng không?
4uk4 avatar
lá cờ cn
FORM_ID chứa cả loại nội dung + hoạt động (tạo là mặc định và mặc định được bỏ qua). BASE_FORM_ID mà tôi đã đề xuất không chứa bất kỳ mã nào trong số chúng và bạn có thể kiểm tra chúng riêng lẻ. BTW nếu bạn cần thao tác, hãy sử dụng `$form_state->getFormObject()->getOperation()`.

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