Layer: Core · Source: lib/core/Theme/MenuViewModel.php:19 (lines 19–135)
final class MenuViewModel extends AbstractThemeViewModel
Menu view model.
Carries the already-escaped display fields for a single navigation menu item. Templates print getters directly; the recursive tree structure is preserved via the `children` list.
| Tag | Value |
|---|---|
@category | Theme |
@author | M.Noermoehammad |
@license | MIT |
@version | 1.0 |
| Relation | Type | Meaning |
|---|---|---|
| extends | ''AbstractThemeViewModel'' | parent class/interface |
None.
| Visibility | Type | Name | Default | Line |
|---|---|---|---|---|
private | (untyped) | $children | [] | 22 |
| Visibility | Method | Summary | Line |
|---|---|---|---|
| public static | fromRow() | Build a menu view model from a row. | 31 |
| public static | fromPrepared() | Build a menu view model from already-prepared, already-safe values. | 59 |
| public | setChildren() | Attach child menu items (recursive tree). | 83 |
| public | id() | 89 | |
| public | label() | 94 | |
| public | url() | 99 | |
| public | parent() | 104 | |
| public | visibility() | 109 | |
| public | children() | MenuViewModel[] | 120 |
| public | hasChildren() | bool Whether the item has child items | 131 |
public static function fromRow(array $row, callable $escape)
lines 31–44 (14)
Build a menu view model from a row.
| Parameter | Type | Default | Description |
|---|---|---|---|
$row | array | required | none |
$escape | callable | required | none |
Returns: (none declared) — static
public static function fromPrepared(array $prepared)
lines 59–72 (14)
Build a menu view model from already-prepared, already-safe values.
Mirrors PostViewModel::fromPrepared(): values are escaped exactly once at the normalization boundary (front_navigation() / prepare_menu()) and stored verbatim. Children are attached afterwards via setChildren().
| Parameter | Type | Default | Description |
|---|---|---|---|
$prepared | array | required | none |
Returns: (none declared) — static
public function setChildren(array $children): void
lines 83–86 (4)
Attach child menu items (recursive tree).
| Parameter | Type | Default | Description |
|---|---|---|---|
$children | array | required | none |
Returns: void — void
public function id(): ?string
lines 89–92 (4)
Takes no parameters.
Returns: ?string
public function label(): ?string
lines 94–97 (4)
Takes no parameters.
Returns: ?string
public function url(): string
lines 99–102 (4)
Takes no parameters.
Returns: string
public function parent(): ?string
lines 104–107 (4)
Takes no parameters.
Returns: ?string
public function visibility(): ?string
lines 109–112 (4)
Takes no parameters.
Returns: ?string
public function children(): array
lines 120–123 (4)
Takes no parameters.
Returns: array — MenuViewModel[]
public function hasChildren(): bool
lines 131–134 (4)
Takes no parameters.
Returns: bool — bool Whether the item has child items
This page is generated from source by 'tools/gendoc'. Edits will be overwritten.