Điểm:0

Các hành động tạo thành ghi đè mảng để đặt thuộc tính id HTML

lá cờ cn

tôi mở rộng Thực thểBiểu mẫu class và tôi cố ghi đè nút gửi để đặt thuộc tính ID HTML của nó (thử #1). Vì nó không hoạt động, tôi đã cố gắng bọc nút trong một trình bao bọc <div>. Tôi đã cố gắng quấn bằng hai cách khác nhau (thử #2 và thử #3), nhưng chúng không hoạt động. Cách duy nhất tôi có thể ghi đè nút gửi là đặt '#thuộc tính' để đặt thuộc tính HTML lớp và để thêm lớp CSS của riêng tôi, nhưng mong muốn của tôi là đặt HTML Tôi thuộc tính. Và tôi muốn thực hiện việc ghi đè này trong phương thức hành động () (không phải biểu mẫu ()).

sử dụng Drupal\Core\Entity\ContentEntityForm;

lớp MyForm mở rộng ContentEntityForm {

  hành động chức năng được bảo vệ (mảng $form, FormStateInterface $form_state) {
    $actions = parent::actions($form, $form_state);

    $actions['submit'] = [
      '#type' => 'gửi',
      '#id' => 'nút lưu', // <- thử #1
      '#value' => t('Lưu'),
      '#ajax' => [
        'gọi lại' => '::ajaxCallback',
        'sự kiện' => 'mousedown',
        'trình bao bọc' => 'thanh-trình bao bọc-1', // <- thử #2
      ],
      '#prefix' => '<div id="bar-wrapper-2">', // <- thử #3
      '#suffix' => '</div>',
      '#thuộc tính' => [
        'class' => ['foo'], // <- thử #4
      ],
    ];

    $actions['submit_wrapper'] = [
      '#type' => 'đánh dấu',
      '#markup' => '<div id="bar-wrapper-1"></div>'
    ];

    trả lại hành động $;
  }

}

Tôi cho rằng tôi chỉ có thể ghi đè ID HTML bên trong mẫu đơn(), nhưng có vẻ hơi mâu thuẫn vì tôi có thể ghi đè/thêm một lớp CSS.

Điểm:1
lá cờ ch
STF

một mẫu ở đây:

$form['submit'] = [
  '#type' => 'gửi',
  '#value' => $this->t('Gửi'),
  '#cân nặng' => 99,
  '#attributes' => ['class' => ['ex-black'], 'id' => ['testId']],
  '#prefix' => '<div id="testIdWrapper">',
  '#suffix' => '</div>',
];
Hermann Schwarz avatar
lá cờ cn
Xin lưu ý, tôi muốn ghi đè ID thuộc tính HTML trong phương thức actions() trong lớp con `ContentEntityForm` của tôi. Đó là mảng $actions, nơi tôi cố gắng ghi đè. Bằng cách này, tôi có thể ghi đè thuộc tính `class`, chứ không phải `id`.
Hermann Schwarz avatar
lá cờ cn
Vì vậy, tôi hài lòng với việc đặt thuộc tính `class` trên mảng $actions vào lúc này.

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