Same filename in this branch
- 10 core/modules/system/src/Entity/Menu.php
- 10 core/modules/system/src/Plugin/migrate/source/Menu.php
Same filename and directory in other branches
- 8.9.x core/modules/system/src/Entity/Menu.php
- 9 core/modules/system/src/Entity/Menu.php
Namespace
Drupal\system\Entity
File
core/modules/system/src/Entity/Menu.php
View source
<?php
namespace Drupal\system\Entity;
use Drupal\Core\Config\Entity\ConfigEntityBase;
use Drupal\Core\Entity\EntityStorageInterface;
use Drupal\system\MenuInterface;
class Menu extends ConfigEntityBase implements MenuInterface {
protected $id;
protected $label;
protected $description;
protected $locked = FALSE;
public function getDescription() {
return $this->description;
}
public function isLocked() {
return (bool) $this->locked;
}
public static function preDelete(EntityStorageInterface $storage, array $entities) {
parent::preDelete($storage, $entities);
$menu_link_manager = \Drupal::service('plugin.manager.menu.link');
foreach ($entities as $menu) {
$menu_link_manager
->deleteLinksInMenu($menu
->id());
}
}
public function save() {
$return = parent::save();
\Drupal::cache('menu')
->invalidateAll();
if (\Drupal::moduleHandler()
->moduleExists('block')) {
\Drupal::service('plugin.manager.block')
->clearCachedDefinitions();
}
return $return;
}
public function delete() {
parent::delete();
\Drupal::cache('menu')
->invalidateAll();
if (\Drupal::moduleHandler()
->moduleExists('block')) {
\Drupal::service('plugin.manager.block')
->clearCachedDefinitions();
}
}
}
Classes
Name |
Description |
Menu |
Defines the Menu configuration entity class. |