Score:0

ดูปลั๊กอินแบบสอบถาม ข้อผิดพลาดดัชนีที่ไม่ได้กำหนด

ธง ua
mfv

ฉันพยายามสร้างปลั๊กอินการสืบค้นมุมมองที่กำหนดเอง แต่ฉันได้รับข้อผิดพลาดของดัชนีที่ไม่ได้กำหนดสำหรับแต่ละฟิลด์ที่ฉันกำลังแมป ตัวกรองที่ฉันใช้สำหรับจุดสิ้นสุดจะทำงานเมื่อฉันตรวจสอบ ปลั๊กอินนี้ดึงข้อมูลจากไซต์ drupal อื่นผ่าน json endpoint ฉันกำลังแมปฟิลด์เพื่อดูด้วย hook_views_data():

<?php
/**
 * ใช้ hook_views_data()
 */
ฟังก์ชัน letter_query_views_data(){
  $ข้อมูล =[];
  // ข้อมูลพื้นฐาน
$data['letter_query']['table']['group'] = t('ข้อความค้นหา');
  $data['letter_query']['table']['base'] = [
  'title' => t('ข้อความค้นหา'),
    'query_id' => 'views_letter_query',
    'help' => t('การสอบถามจุดสิ้นสุด API สำหรับตัวอักษร'),
  ];

//ฟิลด์
  $data['letter_query']['title']=[
    'title' => t('ชื่อจดหมาย'),
    'help' => t('ชื่อเรื่องของจดหมาย'),
    'ฟิลด์' => [
      'id' => 'มาตรฐาน',
    ]
  ];

  $data['letter_query']['field_note']=[
    'title' => t('หมายเหตุ'),
    'help' => t('บันทึกจดหมาย'),
    'ฟิลด์' => [
      'id' => 'มาตรฐาน',
    ]
  ];

ส่งคืน $data;
}

นี่คือแบบสอบถามมุมมองของฉัน:

<?php

เนมสเปซ Drupal\letter_query\Plugin\views\query;

ใช้ Drupal\Core\Plugin\ContainerFactoryPluginInterface;
ใช้ Drupal\views\ResultRow;
ใช้ Drupal\views\ViewExecutable;
ใช้ Drupal\views\Plugin\views\query\QueryPluginBase;
ใช้ Drupal\views\Annotation\ViewsQuery;
ใช้ Symfony\Component\DependencyInjection\ContainerInterface;

/**
 * ดูปลั๊กอินการสืบค้นที่รวมการเรียกไปยัง API การสืบค้นจดหมายเพื่อ
 * เปิดเผยผลลัพธ์ในการดู
 *
 * @ViewsQuery(
 * id = "views_letter_query",
 * title = @Translation("แบบสอบถามจดหมาย"),
 * help = @Translation("สอบถามกับ API")
 * )
 */

คลาส ViewsLetterQuery ขยาย QueryPluginBase ใช้ ContainerFactoryPluginInterface {

  /**
   * @var \Drupal\letter_query\Plugin\views\letterQueryClient
   */
  ป้องกัน $letterQueryClient;


  /**
   * ตัวสร้าง ViewsLetterQuery
   *
   * @param อาร์เรย์ $configuration
   * @param $plugin_id
   * @param $plugin_definition
   * @param $letterQueryClient \Drupal\letter_query\Plugin\views\letterQueryClient
   */
  ฟังก์ชันสาธารณะ __construct (อาร์เรย์ $configuration, $plugin_id, $plugin_definition, $letterQueryClient) {
    พาเรนต์::__construct($configuration, $plugin_id, $plugin_definition);
    $this->letterQueryClient = $letterQueryClient;

  }

  การสร้างฟังก์ชันสแตติกสาธารณะ (ContainerInterface $container, อาร์เรย์ $configuration, $plugin_id, $plugin_definition) {
    ส่งคืนค่าคงที่ใหม่ (
      $configuration,
      $plugin_id,
      $plugin_definition,
      $container->get('letter_query_client')

    );
  }

  ฟังก์ชั่นสาธารณะดำเนินการ (ViewExecutable $ view) {
    $ดัชนี = 0;
    ถ้า ($data = $this->letterQueryClient->getLetters())
    {
      foreach ($data เป็น $letter_item) {
        $row['title'] = $letter_item['title'];
        $row['field_note'] = $letter_item['field_note'];
        $row['ดัชนี'] = $ดัชนี++;
        $view->result[] = ใหม่ ResultRow($row);

      }

    }


  }

  ฟังก์ชั่นสาธารณะ sureTable ($ ตาราง, $ ความสัมพันธ์ = NULL) {
    กลับ '';
  }

  ฟังก์ชันสาธารณะ addField($table, $field, $alias = '', $params = []) {
    ส่งคืนฟิลด์ $;
  }
}
in flag
คุณได้รับข้อผิดพลาดประเภทใด ฉันสงสัยว่าคุณอาจต้องกำหนดปลั๊กอิน @ViewsFilter สำหรับส่วนตัวกรองด้วย: https://zanzarra.com/blog/custom-views-filter-plugin-drupal-8-bounding-box-geofield

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา