Le puteți adăuga singur într-un modul personalizat.
[MODULU].links.menu.yml
:
[MODULE].views.list:
derivat: „Drupal\[MODULE]\Plugin\Derivative\ViewMenuLinks”
[MODULU]/src/Plugin/Derivative/ViewMenuLinks.php
:
<?php
spațiu de nume Drupal\[MODULE]\Plugin\Derivative;
utilizați Drupal\Component\Plugin\Derivative\DeriverBase;
utilizați Drupal\Core\Plugin\Discovery\ContainerDeriverInterface;
utilizați Drupal\views\Views;
utilizați Symfony\Component\DependencyInjection\ContainerInterface;
/**
* Oferă link-uri de meniu pentru vizualizări individuale.
*/
clasa ViewMenuLinks extinde DeriverBase implementează ContainerDeriverInterface {
/**
* {@inheritdoc}
*/
funcția publică statică create(ContainerInterface $container, $base_plugin_id) {
returnează nou static();
}
/**
* {@inheritdoc}
*/
funcția publică getDerivativeDefinitions($base_plugin_definition) {
$aceasta->derivate = [];
foreach (Vizualizări::getAllViews() ca $view_id => $view) {
$url = $view->toUrl();
$this->derivatives['views_ui.views.list.' . $view_id] = [
'route_name' => $url->getRouteName(),
'route_parameters' => $url->getRouteParameters(),
'title' => $view->label(),
'parent' => 'entity.view.collection',
];
}
foreach ($this->derivate ca &$entry) {
$entry += $base_plugin_definition;
}
returnează $this->derivate;
}
}
Rețineți că va trebui să înlocuiți toate instanțele de [MODUL]
cu numele actual al modulului dumneavoastră.