Puncte:0

Plugin de câmp Vizualizări personalizate

drapel cn

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.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.