Điểm:0

Làm cách nào để tạo trường nhiều hộp kiểm tùy chỉnh?

lá cờ ke

Bằng cách làm theo hướng dẫn và tài liệu, tôi có thể tạo trường tùy chỉnh hỗ trợ một giá trị chuỗi đơn. Tuy nhiên, những gì tôi muốn thực hiện là một danh sách tùy chỉnh (tốt nhất là hộp kiểm type) nơi người dùng có thể chọn các tùy chọn khác nhau. Tôi đã thử tìm kiếm trong core/modules/options schema.yml và sao chép cài đặt lưu trữ vẫn cho tôi kết quả tương tự. tôi nhận được lỗi Giá trị này phải thuộc loại nguyên thủy chính xác.

Đây là những gì tôi tin là các đoạn mã có liên quan mà tôi hiện có:

trong loại trường/

  lược đồ hàm tĩnh công khai (FieldStorageDefinitionInterface $field_definition) {
    trở lại [
      // các cột chứa các giá trị mà trường sẽ lưu trữ
      'cột' => [
        'giá trị' => [
          'loại' => 'văn bản',
          'kích thước' => 'bình thường',
          'không rỗng' => SAI,
          'tuần tự hóa' => ĐÚNG
        ],
      ],
      'chỉ mục' => [
        'giá trị' => ['giá trị'],
      ],
    ];
  }

Trong FieldWidget/

  hàm công khai formElement(FieldItemListInterface $items, $delta, mảng $element, mảng &$form, FormStateInterface $form_state) {
    $sglists = ['1' => 'a', '2' => 'b'];
    $element['value'] = $element + [
        '#type' => 'hộp kiểm',
        '#options' => $sglist,
        '#empty_value' => '',
        '#default_value' => (isset($items[$delta]->value) && isset($sglists[$items[$delta]->value])) ? $items[$delta]->giá trị : NULL,
        '#description' => t('Chọn Danh sách Sendgrid'),
      ];

    trả lại phần tử $;
  }

trong lược đồ.yml

field.storage_settings.sendgridlists:
  nhãn: 'Danh sách Sendgrid'
  loại: lập bản đồ
  lập bản đồ:
    selectable_lists:
      loại: trình tự
      nhãn: 'Danh sách có thể chọn'
      sự nối tiếp:
        loại: chuỗi

Tôi khá chắc chắn rằng vấn đề của mình xuất phát từ schema.yml nhưng tôi không thực sự hiểu cách biến vấn đề này từ một giá trị thành danh sách đa giá trị. (tương tự như lõi/mô-đun/tùy chọn)

Mọi trợ giúp đều được đánh giá cao, bao gồm mọi liên kết đến các mô-đun đóng góp hiện có để tạo thành công tùy chỉnh hộp kiểm loại trường mà tôi có thể tham khảo.

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