Scriptlog Docs

Scriptlog Documentation

Code reference for the Scriptlog codebase

User Tools

Site Tools


scriptlog:lib:core:menuviewmodel

This is an old revision of the document!


MenuViewModel

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.

Docblock Metadata

^ Tag ^ Value ^
| ''@category'' | Theme |
| ''@author'' | M.Noermoehammad |
| ''@license'' | MIT |
| ''@version'' | 1.0 |

Inheritance

^ Relation ^ Type ^ Meaning ^
| extends | [[scriptlog:lib:core:abstractthemeviewmodel|''AbstractThemeViewModel'']] | parent class/interface |

Constants (0)

None.

Properties (1)

^ Visibility ^ Type ^ Name ^ Default ^ Line ^
| ''private'' | ''(untyped)'' | ''$children'' | ''[];'' | 22 |

Methods (10)

^ 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()'' | @psalm-suppress PossiblyUnusedMethod -- public getter consumed by public/themes | 89 |
| public | ''label()'' | @psalm-suppress PossiblyUnusedMethod -- public getter consumed by public/themes | 94 |
| public | ''url()'' | @psalm-suppress PossiblyUnusedMethod -- public getter consumed by public/themes | 99 |
| public | ''parent()'' | @psalm-suppress PossiblyUnusedMethod -- public getter consumed by public/themes | 104 |
| public | ''visibility()'' | @psalm-suppress PossiblyUnusedMethod -- public getter consumed by public/themes | 109 |
| public | ''children()'' | MenuViewModel[] | 120 |
| public | ''hasChildren()'' | bool Whether the item has child items | 131 |

fromRow()

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

fromPrepared()

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

setChildren()

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

id()

public function id(): ?string

lines 89–92 (4)

@psalm-suppress PossiblyUnusedMethod – public getter consumed by public/themes

Takes no parameters.

Returns: ?string

label()

public function label(): ?string

lines 94–97 (4)

@psalm-suppress PossiblyUnusedMethod – public getter consumed by public/themes

Takes no parameters.

Returns: ?string

url()

public function url(): string

lines 99–102 (4)

@psalm-suppress PossiblyUnusedMethod – public getter consumed by public/themes

Takes no parameters.

Returns: string

parent()

public function parent(): ?string

lines 104–107 (4)

@psalm-suppress PossiblyUnusedMethod – public getter consumed by public/themes

Takes no parameters.

Returns: ?string

visibility()

public function visibility(): ?string

lines 109–112 (4)

@psalm-suppress PossiblyUnusedMethod – public getter consumed by public/themes

Takes no parameters.

Returns: ?string

children()

public function children(): array

lines 120–123 (4)

Takes no parameters.

Returns: array — MenuViewModel[]

hasChildren()

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.

scriptlog/lib/core/menuviewmodel.1790413762.txt.gz · Last modified: by admin