MenuLinkListBuilder.php
Same filename in other branches
Namespace
Drupal\menu_link_contentFile
-
core/
modules/ menu_link_content/ src/ MenuLinkListBuilder.php
View source
<?php
namespace Drupal\menu_link_content;
use Drupal\Core\Entity\EntityInterface;
use Drupal\Core\Entity\EntityListBuilder;
use Drupal\Core\Entity\EntityStorageInterface;
use Drupal\Core\Entity\EntityTypeInterface;
use Drupal\Core\Routing\RedirectDestinationInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* Provides a menu link list builder.
*/
class MenuLinkListBuilder extends EntityListBuilder {
/**
* The redirect destination.
*
* @var \Drupal\Core\Routing\RedirectDestinationInterface
*/
protected $redirectDestination;
/**
* {@inheritdoc}
*/
public static function createInstance(ContainerInterface $container, EntityTypeInterface $entity_type) {
return new static($entity_type, $container->get('entity_type.manager')
->getStorage($entity_type->id()), $container->get('redirect.destination'));
}
/**
* Constructs a new instance.
*
* @param \Drupal\Core\Entity\EntityTypeInterface $entity_type
* The entity type definition.
* @param \Drupal\Core\Entity\EntityStorageInterface $storage
* The entity storage class.
* @param \Drupal\Core\Routing\RedirectDestinationInterface $redirect_destination
* The redirect destination.
*/
public function __construct(EntityTypeInterface $entity_type, EntityStorageInterface $storage, RedirectDestinationInterface $redirect_destination) {
parent::__construct($entity_type, $storage);
$this->redirectDestination = $redirect_destination;
}
/**
* {@inheritdoc}
*/
public function getDefaultOperations(EntityInterface $entity) {
$operations = parent::getDefaultOperations($entity);
$destination = $this->redirectDestination
->get();
foreach ($operations as $key => $operation) {
$operations[$key]['query']['destination'] = $destination;
}
return $operations;
}
/**
* {@inheritdoc}
*/
public function render() {
throw new \LogicException('This list builder can only provide operations. It does not build lists.');
}
}
Classes
Title | Deprecated | Summary |
---|---|---|
MenuLinkListBuilder | Provides a menu link list builder. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.