Chris@0: viewStorage = $view_storage; Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public static function create(ContainerInterface $container, $base_plugin_id) { Chris@0: return new static( Chris@0: $container->get('entity.manager')->getStorage('view') Chris@0: ); Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public function getDerivativeDefinitions($base_plugin_definition) { Chris@0: $links = []; Chris@0: $views = Views::getApplicableViews('uses_menu_links'); Chris@0: Chris@0: foreach ($views as $data) { Chris@0: list($view_id, $display_id) = $data; Chris@0: /** @var \Drupal\views\ViewExecutable $executable */ Chris@0: $executable = $this->viewStorage->load($view_id)->getExecutable(); Chris@0: $executable->initDisplay(); Chris@0: $display = $executable->displayHandlers->get($display_id); Chris@0: Chris@0: if (($display instanceof DisplayMenuInterface) && ($result = $display->getMenuLinks())) { Chris@0: foreach ($result as $link_id => $link) { Chris@0: $links[$link_id] = $link + $base_plugin_definition; Chris@0: } Chris@0: } Chris@0: } Chris@0: Chris@0: return $links; Chris@0: } Chris@0: Chris@0: }