‪TYPO3CMS  ‪main
MenuModule.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
26 {
30  protected array ‪$subModules = [];
31 
32  public function ‪__construct(protected readonly ‪ModuleInterface $module, protected $isCollapsed = false) {}
33 
34  public function ‪getIdentifier(): string
35  {
36  return $this->module->getIdentifier();
37  }
38 
39  public function ‪getIconIdentifier(): string
40  {
41  return $this->module->getIconIdentifier();
42  }
43 
44  public function ‪getTitle(): string
45  {
46  return $this->module->getTitle();
47  }
48 
49  public function ‪getDescription(): string
50  {
51  return $this->module->getDescription();
52  }
53 
54  public function ‪getShortDescription(): string
55  {
56  return $this->module->getShortDescription();
57  }
58 
59  public function ‪isStandalone(): bool
60  {
61  return $this->module->isStandalone();
62  }
63 
64  public function ‪getComponent(): string
65  {
66  return $this->module->getComponent();
67  }
68 
69  public function ‪getNavigationComponent(): string
70  {
71  return $this->module->getNavigationComponent();
72  }
73 
74  public function ‪getPosition(): array
75  {
76  return $this->module->getPosition();
77  }
78 
79  public function ‪getAppearance(): array
80  {
81  return $this->module->getAppearance();
82  }
83 
84  public function ‪getAccess(): string
85  {
86  return $this->module->getAccess();
87  }
88 
89  public function ‪getWorkspaceAccess(): string
90  {
91  return $this->module->getWorkspaceAccess();
92  }
93 
94  public function ‪getParentIdentifier(): string
95  {
96  return $this->module->getParentIdentifier();
97  }
98 
99  public function ‪setParentModule(‪ModuleInterface $module): void
100  {
101  $this->module->setParentModule($module);
102  }
103 
105  {
106  return $this->module->‪getParentModule();
107  }
108 
109  public function ‪hasParentModule(): bool
110  {
111  return $this->module->hasParentModule();
112  }
113 
114  public function ‪addSubModule(‪ModuleInterface $module): void
115  {
116  $this->subModules[$module->‪getIdentifier()] = $module;
117  }
118 
119  public function ‪removeSubModule(string ‪$identifier): void
120  {
121  unset($this->subModules[‪$identifier]);
122  }
123 
124  public function ‪hasSubModule(string ‪$identifier): bool
125  {
126  return isset($this->subModules[‪$identifier]);
127  }
128 
129  public function ‪hasSubModules(): bool
130  {
131  return $this->subModules !== [];
132  }
133 
135  {
136  return $this->subModules[‪$identifier] ?? null;
137  }
138 
142  public function ‪getSubModules(): array
143  {
144  return ‪$this->subModules;
145  }
146 
147  public function ‪getPath(): string
148  {
149  return $this->module->getPath();
150  }
151 
152  public function ‪getDefaultRouteOptions(): array
153  {
154  return $this->module->getDefaultRouteOptions();
155  }
156 
157  public function ‪getDefaultModuleData(): array
158  {
159  return $this->module->getDefaultModuleData();
160  }
161 
162  public function ‪getAliases(): array
163  {
164  return $this->module->getAliases();
165  }
166 
167  public function ‪isCollapsed(): bool
168  {
169  return $this->isCollapsed;
170  }
171 
172  public function ‪getIsCollapsed(): bool
173  {
174  return $this->‪isCollapsed();
175  }
176 
177  public function ‪getShouldBeLinked(): bool
178  {
179  if ($this->module->isStandalone()) {
180  return true;
181  }
182  if ($this->module->hasParentModule()) {
183  return true;
184  }
185  return false;
186  }
187 }
‪TYPO3\CMS\Backend\Module\MenuModule\getAliases
‪getAliases()
Definition: MenuModule.php:162
‪TYPO3\CMS\Backend\Module\MenuModule\removeSubModule
‪removeSubModule(string $identifier)
Definition: MenuModule.php:119
‪TYPO3\CMS\Backend\Module\MenuModule\getIconIdentifier
‪getIconIdentifier()
Definition: MenuModule.php:39
‪TYPO3\CMS\Backend\Module\MenuModule\getDefaultRouteOptions
‪getDefaultRouteOptions()
Definition: MenuModule.php:152
‪TYPO3\CMS\Backend\Module\MenuModule\hasSubModules
‪hasSubModules()
Definition: MenuModule.php:129
‪TYPO3\CMS\Backend\Module\MenuModule\getParentModule
‪getParentModule()
Definition: MenuModule.php:104
‪TYPO3\CMS\Backend\Module\MenuModule\getParentIdentifier
‪getParentIdentifier()
Definition: MenuModule.php:94
‪TYPO3\CMS\Backend\Module\MenuModule\__construct
‪__construct(protected readonly ModuleInterface $module, protected $isCollapsed=false)
Definition: MenuModule.php:32
‪TYPO3\CMS\Backend\Module\MenuModule\getAccess
‪getAccess()
Definition: MenuModule.php:84
‪TYPO3\CMS\Backend\Module\MenuModule\getSubModules
‪ModuleInterface[] getSubModules()
Definition: MenuModule.php:142
‪TYPO3\CMS\Backend\Module\MenuModule\getPath
‪getPath()
Definition: MenuModule.php:147
‪TYPO3\CMS\Backend\Module\MenuModule\getShouldBeLinked
‪getShouldBeLinked()
Definition: MenuModule.php:177
‪TYPO3\CMS\Backend\Module\MenuModule\hasParentModule
‪hasParentModule()
Definition: MenuModule.php:109
‪TYPO3\CMS\Backend\Module\ModuleInterface\getIdentifier
‪getIdentifier()
‪TYPO3\CMS\Backend\Module\MenuModule\isStandalone
‪isStandalone()
Definition: MenuModule.php:59
‪TYPO3\CMS\Backend\Module\MenuModule\getAppearance
‪getAppearance()
Definition: MenuModule.php:79
‪TYPO3\CMS\Backend\Module\MenuModule\getComponent
‪getComponent()
Definition: MenuModule.php:64
‪TYPO3\CMS\Backend\Module\MenuModule\setParentModule
‪setParentModule(ModuleInterface $module)
Definition: MenuModule.php:99
‪TYPO3\CMS\Backend\Module\MenuModule\getWorkspaceAccess
‪getWorkspaceAccess()
Definition: MenuModule.php:89
‪TYPO3\CMS\Backend\Module\MenuModule
Definition: MenuModule.php:26
‪TYPO3\CMS\Backend\Module\ModuleInterface
Definition: ModuleInterface.php:24
‪TYPO3\CMS\Backend\Module\ModuleInterface\getParentModule
‪getParentModule()
‪TYPO3\CMS\Backend\Module\MenuModule\getSubModule
‪getSubModule(string $identifier)
Definition: MenuModule.php:134
‪TYPO3\CMS\Backend\Module\MenuModule\getNavigationComponent
‪getNavigationComponent()
Definition: MenuModule.php:69
‪TYPO3\CMS\Backend\Module\MenuModule\getPosition
‪getPosition()
Definition: MenuModule.php:74
‪TYPO3\CMS\Backend\Module\MenuModule\$subModules
‪array $subModules
Definition: MenuModule.php:30
‪TYPO3\CMS\Backend\Module\MenuModule\addSubModule
‪addSubModule(ModuleInterface $module)
Definition: MenuModule.php:114
‪TYPO3\CMS\Backend\Module\MenuModule\getTitle
‪getTitle()
Definition: MenuModule.php:44
‪TYPO3\CMS\Backend\Module\MenuModule\getDescription
‪getDescription()
Definition: MenuModule.php:49
‪TYPO3\CMS\Backend\Module\MenuModule\getIsCollapsed
‪getIsCollapsed()
Definition: MenuModule.php:172
‪TYPO3\CMS\Backend\Module\MenuModule\getDefaultModuleData
‪getDefaultModuleData()
Definition: MenuModule.php:157
‪TYPO3\CMS\Backend\Module
Definition: BaseModule.php:18
‪TYPO3\CMS\Backend\Module\MenuModule\getIdentifier
‪getIdentifier()
Definition: MenuModule.php:34
‪TYPO3\CMS\Webhooks\Message\$identifier
‪identifier readonly string $identifier
Definition: FileAddedMessage.php:37
‪TYPO3\CMS\Backend\Module\MenuModule\isCollapsed
‪isCollapsed()
Definition: MenuModule.php:167
‪TYPO3\CMS\Backend\Module\MenuModule\hasSubModule
‪hasSubModule(string $identifier)
Definition: MenuModule.php:124
‪TYPO3\CMS\Backend\Module\MenuModule\getShortDescription
‪getShortDescription()
Definition: MenuModule.php:54