Creez un plugin de câmp de vizualizări personalizate și am o mulțime de notificări în dblog pe care nu le pot urmări.
Este un simplu plugin de câmp de vizualizări care doar redă o parte din conținut într-un câmp personalizat „non-db” pe vizualizare.
Problema #1, este că în vizualizare, câmpul este listat doar ca „:” (grupul de câmpuri și numele câmpului nu sunt afișate în vizualizare).
În al doilea rând, primesc aceste notificări în dblog Notă: Încercarea de a accesa offset de matrice pe valoarea de tip null în Drupal\views\Plugin\views\HandlerBase->adminLabel() (linia 159 din /home/jfurnas/sites/lms/docroot/core/modules/views/src/ Plugin/views/HandlerBase.php)
Aceste erori apar numai dacă mă aflu în interfața de utilizare a vizualizărilor pentru a gestiona vizualizarea. Dacă văd vizualizarea în mod regulat, nu pune erorile în dblog.
Eu definesc câmpul așa, în fișierul meu_module.views.inc
funcția request_system_views_data() {
$data['lms_request']['request_system_quick_edit'] = [
'title' => t('Solicitare de editare rapidă'),
'help' => t('Detaliile cererii de editare rapidă'),
'group' => 'Solicitare LMS',
'câmp' => [
'title' => 'Solicitare de editare rapidă',
'id' => 'request_system_quick_edit',
],
];
}
În cazul în care „lms_request” este numele mașinii unei entități personalizate din sistem, iar clasa mea fieldplug este definită după cum urmează:
<?php
spațiu de nume Drupal\request_system\Plugin\views\field;
utilizați Drupal\views\Plugin\views\field\FieldPluginBase;
utilizați Drupal\views\ResultRow;
utilizați Drupal\Core\Form\FormStateInterface;
utilizați Drupal\Core\Url;
/**
* Oferă un handler de câmp de editare rapidă.
*
* @ViewsField("request_system_quick_edit")
*
* @DCG
* Pluginul trebuie să fie atribuit unei anumite coloane de tabel prin
* hook_views_data() sau hook_views_data_alter().
* Pentru coloanele inexistente (adică câmpuri calculate) trebuie să înlocuiți
* metoda self::query().
*/
clasa QuickEdit extinde FieldPluginBase {
/**
* {@inheritdoc}
*/
interogare de funcție publică () {
întoarcere [];
}
// /**
// * {@inheritdoc}
// */
funcția public defineOptions() {
întoarcere [];
}
// /**
// * {@inheritdoc}
// */
funcția publică buildOptionsForm(&$form, FormStateInterface $form_state) {
parent::buildOptionsForm($form, $form_state);
}
/**
* {@inheritdoc}
*/
funcția publică randare (ResultRow $valori) {
$entity = $values->_entity;
$build['#cache'] = [
'max-age' => 0
];
$build['request_information'] = [
'#markup' => 'Solicitați informații pentru cererea # '. $entity->id(),
];
returnează $build;
}
}
Nu sunt sigur care ar putea fi problema. Eu definesc alte câmpuri personalizate din sistem în mod similar
și nu provoacă aceleași probleme.