Tôi đang tạo plugin trường chế độ xem tùy chỉnh và tôi có rất nhiều thông báo trong dblog mà tôi không thể theo dõi.
Đó là một plugin trường dạng xem đơn giản chỉ hiển thị một số nội dung thành trường "không phải db" tùy chỉnh trên dạng xem.
Vấn đề #1, là trong dạng xem, trường được liệt kê dưới dạng ':' (Nhóm trường và tên trường không được hiển thị trên dạng xem).
Thứ hai, tôi nhận được những thông báo này trong dblog Lưu ý: Cố gắng truy cập phần bù mảng trên giá trị của loại null trong Drupal\views\Plugin\views\HandlerBase->adminLabel() (dòng 159 của /home/jfurnas/sites/lms/docroot/core/modules/views/src/ Plugin/lượt xem/HandlerBase.php)
Những lỗi này chỉ xuất hiện nếu tôi đang ở trong giao diện người dùng của chế độ xem để quản lý chế độ xem. Nếu mình xem view thường xuyên thì nó không đưa lỗi vào dblog.
Tôi đang xác định trường như vậy, trong tệp my_module.views.inc của tôi
hàm request_system_views_data() {
$data['lms_request']['request_system_quick_edit'] = [
'tiêu đề' => t('Yêu cầu chỉnh sửa nhanh'),
'help' => t('Chi tiết yêu cầu chỉnh sửa nhanh'),
'nhóm' => 'Yêu cầu LMS',
'trường' => [
'title' => 'Yêu cầu chỉnh sửa nhanh',
'id' => 'request_system_quick_edit',
],
];
}
Trong đó 'lms_request' là tên máy của một thực thể tùy chỉnh trong hệ thống và lớp fieldplug của tôi được định nghĩa như sau:
<?php
không gian tên Drupal\request_system\Plugin\views\field;
sử dụng Drupal\views\Plugin\views\field\FieldPluginBase;
sử dụng Drupal\views\ResultRow;
sử dụng Drupal\Core\Form\FormStateInterface;
sử dụng Drupal\Core\Url;
/**
* Cung cấp trình xử lý trường Chỉnh sửa nhanh.
*
* @ViewsField("request_system_quick_edit")
*
* @DCG
* Plugin cần được gán cho một cột bảng cụ thể thông qua
* hook_views_data() hoặc hook_views_data_alter().
* Đối với các cột không tồn tại (tức là các trường được tính toán), bạn cần ghi đè
* phương thức self::query().
*/
lớp QuickEdit mở rộng FieldPluginBase {
/**
* {@inheritdoc}
*/
truy vấn hàm công khai() {
trở lại [];
}
// /**
// * {@inheritdoc}
// */
hàm công khaidefineOptions() {
trở lại [];
}
// /**
// * {@inheritdoc}
// */
chức năng công khai buildOptionsForm(&$form, FormStateInterface $form_state) {
cha mẹ::buildOptionsForm($form, $form_state);
}
/**
* {@inheritdoc}
*/
chức năng công khai kết xuất (ResultRow $values) {
$entity = $values->_entity;
$build['#cache'] = [
'tuổi tối đa' => 0
];
$build['request_information'] = [
'#markup' => 'Yêu cầu thông tin cho yêu cầu # '. $entity->id(),
];
trả lại bản dựng $;
}
}
Tôi không chắc vấn đề có thể là gì. Tôi xác định các trường tùy chỉnh khác trong hệ thống theo cách tương tự
và chúng không gây ra các vấn đề tương tự.