คุณสามารถเพิ่มด้วยตนเองในโมดูลที่กำหนดเอง
[โมดูล].links.menu.yml
:
[โมดูล].views.list:
ที่มา: 'Drupal\[MODULE]\Plugin\Derivative\ViewMenuLinks'
[โมดูล]/src/Plugin/Derivative/ViewMenuLinks.php
:
<?php
เนมสเปซ Drupal\[MODULE]\Plugin\Derivative;
ใช้ Drupal\Component\Plugin\Derivative\DeriverBase;
ใช้ Drupal\Core\Plugin\Discovery\ContainerDeriverInterface
ใช้ Drupal\views\Views;
ใช้ Symfony\Component\DependencyInjection\ContainerInterface;
/**
* ให้ลิงค์เมนูสำหรับมุมมองแต่ละรายการ
*/
คลาส ViewMenuLinks ขยาย DeriverBase ใช้ ContainerDeriverInterface {
/**
* {@inheritdoc}
*/
สร้างฟังก์ชันสแตติกสาธารณะ (ContainerInterface $container, $base_plugin_id) {
ส่งคืนค่าคงที่ใหม่ ();
}
/**
* {@inheritdoc}
*/
ฟังก์ชันสาธารณะ getDerivativeDefinitions($base_plugin_definition) {
$this->อนุพันธ์ = [];
foreach (Views::getAllViews() เป็น $view_id => $view) {
$url = $view->toUrl();
$this->อนุพันธ์['views_ui.views.list.' . $view_id] = [
'route_name' => $url->getRouteName(),
'route_parameters' => $url->getRouteParameters(),
'ชื่อเรื่อง' => $view->label(),
'parent' => 'entity.view.collection',
];
}
foreach ($this->อนุพันธ์เป็น &$entry) {
$รายการ += $base_plugin_definition;
}
ส่งคืน $this->อนุพันธ์;
}
}
โปรดทราบว่าคุณจะต้องแทนที่อินสแตนซ์ทั้งหมดของ [โมดูล]
ด้วยชื่อโมดูลจริงของโมดูลของคุณ