Chạy Drupal 9 với mô-đun đoạn văn, đoạn văn có thể thu gọn và cài đặt đoạn văn jquery ui accordion. Tôi muốn sửa đổi biểu mẫu của các đoạn văn, cụ thể là nơi nó hiển thị các tệp riêng tư bằng cách thêm hộp kiểm 'Chuyển sang Công khai' bên dưới mỗi mô tả tệp (xem hình ảnh đính kèm).
Tôi đang sử dụng hook_field_widget_WIDGET_TYPE_form_alter(). Đây là mã ví dụ:
**
* Triển khai hook_field_widget_WIDGET_TYPE_form_alter().
*/
function sbn_field_widget_paragraphs_form_alter(&$element, &$form_state, $context) {
if (!empty($element['subform']['field_private_files'])) {
# $element['subform']['field_private_files']['widget'][0]['#default_value']['switch'] = [
# '#type' => 'hộp kiểm',
# '#title' => t('Chuyển sang Công khai'),
# '#required' => SAI,
# '#default_value' => SAI,
# ];
$element['subform']['field_private_files']['widget'][0]['#default_value']['switch'] = mảng(
'#type' => 'hộp kiểm',
'#title' => t('Chuyển sang chế độ công khai'),
'#size' => 10,
'#maxlength' => 255,
'#giá_trị_mặc_định' => 1,
'#required' => SAI,
'#description' => '<p>' . t('Chuyển từ riêng tư sang công khai.') . '</p>',
);
// dsm($element);
}
}
Tôi biết các phần tử mảng ở đó vì tôi đã sử dụng dsm để in ra toàn bộ biểu mẫu nếu ['subform']['field_private_files'] tồn tại:
[field_private_files] => Mảng
(
[#type] => vùng chứa
[#parents] => Mảng
(
[0] => trường_body1
[1] => 7
[2] => biểu mẫu con
[3] => trường_body2
[4] => 0
[5] => biểu mẫu con
[6] => field_private_files_wrapper
)
[#attributes] => Mảng
(
[lớp] => Mảng
(
[0] => trường--loại-tệp
[1] => trường--tên-trường-tệp-riêng
[2] => trường--tệp-tệp-chung
[3] => đoạn-nội-dung
)
)
[tiện ích con] => Mảng
(
[0] => Mảng
(
[#title] => Tệp riêng tư
[#mô tả] =>
[#field_parents] => Mảng
(
[0] => trường_body1
[1] => 7
[2] => biểu mẫu con
[3] => trường_body2
[4] => 0
[5] => biểu mẫu con
)
[#required] =>
[#delta] => 0
[#trọng lượng] => 0
[#type] => Managed_file
[#upload_location] => riêng tư://
[#upload_validators] => Mảng
(
[file_validate_size] => Mảng(1)
[file_validate_extensions] => Mảng(1)
)
[#value_callback] => Mảng
(
[0] => Drupal\file\Plugin\Field\FieldWidget\FileWidget
[1] => giá trị
)
[# process] => Mảng
(
[0] => Mảng(2)
[1] => Mảng(2)
)
[#progress_indicator] => rung giật
[#extend] => 1
[#field_name] => field_private_files
[#entity_type] => đoạn văn
[#display_field] => 1
[#display_default] => 1
[#description_field] => 1
[#cardinality] => -1
[#default_value] => Mảng
(
[id_mục_tiêu] => 436
[hiển thị] => 1
[mô tả] => Biên bản phiên điều hành 15-11-21
[fids] => Mảng(1)
)
Mọi đề xuất về cách viết mã này để hộp kiểm sẽ được in dưới phần 'mô tả' của từng phần Tệp riêng tư của mỗi đoạn (có thể có nhiều đoạn được đính kèm với mỗi nút). Cảm ơn!