Điểm:0

Biểu mẫu html trong một khối

lá cờ eg

Tôi có một biểu mẫu trong khối tùy chỉnh trong drupal 8 và tôi biết rằng đây không phải là phương pháp phù hợp để viết biểu mẫu trong một khối nhưng ai đó đã viết nó và tôi đang cố sửa nó mà không thay đổi phương thức. Trong sự trở lại của xây dựng chức năng công khai () , anh ấy đã hiển thị html của một biểu mẫu trong phần đánh dấu.

 mảng trả về (
      '#markup' => '<biểu mẫu>
// chúng tôi có ở đây nhiều đầu vào
// sau đó ở cuối:       
 <input type="hidden" name="form_id" value="country_language_form">
  <div class="yellow"><a class="btn button button--primary js-form-submit form-submit" id="edit-submit--2">'.t("Gửi").'< /a> </div>
</form>',

Tôi đã tự hỏi mã này hoạt động như thế nào (biểu mẫu thực sự được gửi) khi người dùng là ẩn danh và nó không hoạt động (nhấp vào gửi không làm gì cả) khi người dùng đăng nhập với tư cách quản trị viên.

Kevin avatar
lá cờ in
Thành thật mà nói, bạn nên viết nó bằng biểu mẫu api và gọi nó từ khối.
Điểm:3
lá cờ de

Dự đoán đầu tiên của tôi sẽ là nhắm mục tiêu không chính xác của nút gửi khi người dùng đăng nhập (lưu ý rằng Drupal thêm rất nhiều phần tử vào DOM khi đăng nhập).

Tuy nhiên, tôi thực sự khuyên bạn nên sử dụng đúng phương pháp và tạo biểu mẫu của mình bằng API biểu mẫu. Mã xây dựng khối của bạn sẽ trông như thế này:

  xây dựng chức năng công cộng () {
    $form = \Drupal::formBuilder()->getForm('Drupal\your_module_name\Form\YourForm');
    $build['content'] = $form;
    trả lại bản dựng $;
  }

Và tất cả mã liên quan đến biểu mẫu của bạn sẽ nằm trong tệp YourForm.php.

Mira chalak avatar
lá cờ eg
Cảm ơn !!

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