Điểm:-2

Trường gửi biểu mẫu không khả dụng trong hành động biểu mẫu

lá cờ in

Tôi có trình xử lý gửi biểu mẫu sau đây.

function mymod_form_submit(&$form, FormStateInterface $form_state) {
  $ka_sered = $form_state->getValue('ka_types');
  \Drupal::state()->set('ka_types', $ka_selected);
  trả lại $ka_sedled;
}

Nó trả về ka_types giá trị trường. tôi muốn sử dụng $ka_đã chọn trong mã hành động tùy chỉnh.

chức năng công khai thực thi (ContentEntityInterface $entity = NULL) {
    // Đọc tất cả các trường từ thực thể
    $comment = $entity->get('comment_body')->getValue();
    $file_uri = file_create_url($entity->field_attachment->entity->getFileUri());
    $file_name = $entity->field_attachment->entity->getFileName();
    $ka = $entity->ka_selected->entity->getValue(); **//lỗi ném vào đây**
    đ($ka);
}

Tôi có thể đọc các thực thể dạng xem khác nhưng không chỉ trường này.

Làm thế nào tôi có thể sử dụng giá trị của $ka_đã chọn trong hành động tùy chỉnh của tôi?

Rainer Feike avatar
lá cờ in
Bạn có thể vui lòng làm rõ - Tôi nghĩ rằng không có hook_form_submit trong Drupal 9? Và tại sao bạn lưu trữ giá trị của mình trong một trạng thái và sau đó mong đợi giá trị đó trong thực thể?
Jiah avatar
lá cờ in
Drupal 9 có hook_form_submit và tôi có thể kết xuất các giá trị đã chọn ở đó một cách hoàn hảo. Chỉ những giá trị đó không được chuyển sang phương thức thực thi trong hành động tùy chỉnh
apaderno avatar
lá cờ us
Drupal chưa bao giờ sử dụng [`hook_form_submit()`](https://api.drupal.org/api/drupal/9.1.x/search/hook_submit_form). Trình xử lý gửi biểu mẫu không phải là một cái móc. Nội dung được lưu trữ trong phần tử biểu mẫu không nhất thiết phải là trường thực thể. Tôi có thể sử dụng thêm phần tử biểu mẫu trong biểu mẫu chỉnh sửa thực thể và giá trị của nó sẽ không kết thúc trong trường thực thể.
apaderno avatar
lá cờ us
Ngoài ra, trình xử lý gửi biểu mẫu không trả về bất kỳ giá trị nào. Ngay cả khi nó trả về một giá trị, thì giá trị đó sẽ bị loại bỏ khỏi Drupal.
Điểm:0
lá cờ in

Được rồi, tôi có thể tìm ra câu trả lời từ liên kết dưới đây: https://www.drupal.org/forum/support/module-development-and-code-questions/2021-07-04/read-view-row-entities-and-create-a#comment-14154305

chức năng công khai thực thi (ContentEntityInterface $entity = NULL) {
    // Đọc tất cả các trường từ thực thể
    $comment = $entity->get('comment_body')->getValue();
    $file_uri = file_create_url($entity->field_attachment->entity->getFileUri());
    $file_name = $entity->field_attachment->entity->getFileName();
    $ka = \Drupal::state()->get('ka_types');
    đ($ka);
}

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