admin_toolbar_content-1.0.0/src/Plugin/AdminToolbarContent/AdminToolbarContentMenusPlugin.php

src/Plugin/AdminToolbarContent/AdminToolbarContentMenusPlugin.php
<?php

namespace Drupal\admin_toolbar_content\Plugin\AdminToolbarContent;

use Drupal\admin_toolbar_content\AdminToolbarContentPluginBase;
use Drupal\Core\Entity\EntityInterface;

/**
 * Alter the system 'menus' menu and adding a new main 'Menus' menu item.
 *
 * @see \Drupal\admin_toolbar_content\Plugin\Derivative\AdminToolbarContentMenuLinks.
 *
 * @AdminToolbarContentPlugin(
 *   id = "menus",
 *   name = @Translation("Menus"),
 *   description = @Translation("Adds a 'Menus' item to the admin menu."),
 *   entity_type = "menu"
 * )
 */
class AdminToolbarContentMenusPlugin extends AdminToolbarContentPluginBase {

  /**
   * {@inheritdoc}
   */
  public function createMenuLinkItems(): void {
    $this->createRootLink($this->t("Menus"), "entity.menu.collection", [], -6);
    $this->createCollectionLinks("entity.menu.collection");
    $this->createItemLinks("entity.menu.edit_form", "menu");
    $this->createItemAddLinks("entity.menu.add_form");
  }

  /**
   * {@inheritdoc}
   */
  public function needsMenuLinkRebuild(EntityInterface $entity): bool {
    return ($entity->getEntityTypeId() == 'menu');
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc