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 ''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.1790414218.txt.gz · Last modified: by admin