Kirby\Patterns\Lab::menu PHP Method

menu() public method

public menu ( $patterns = null, $path = '' )
    public function menu($patterns = null, $path = '')
    {
        if (is_null($patterns)) {
            $pattern = new Pattern();
            $patterns = $pattern->children();
        }
        if (!$patterns->count()) {
            return null;
        }
        $html = ['<ul class="nav">'];
        foreach ($patterns as $pattern) {
            if ($pattern->isHidden()) {
                continue;
            }
            $html[] = '<li>';
            $html[] = html::a($pattern->url(), '<span>' . $pattern->title() . '</span>', ['class' => $path == $pattern->path() ? 'active' : null]);
            if ($pattern->isOpen($path)) {
                $html[] = $this->menu($pattern->children(), $path);
            }
            $html[] = '</li>';
        }
        $html[] = '</ul>';
        return implode(array_filter($html));
    }