yii\widgets\Menu 使用嵌套的 HTML 列表显示一组多级菜单。
菜单会检查当前路由和请求参数来切换某些菜单项与活动状态。
// 类文件 use yii\widgets\Menu; echo Menu::widget([ 'items' => [ ['label'=>'Home', 'url'=>['site/index']], ['label'=>'Products', 'url'=>['product/index'], 'items'=>[ ['label' => 'New Arrivals', 'url'=>['product/index', 'tag'=>'new']], ['label' => 'Most Popular', 'url'=>['product/index', 'tag'=>'popular']], ]], ['label'=>'Login', 'url'=>['site/login'], 'visible'=>Yii::$app->user->isGuest], ], ]);
常用参数:
items array 菜单项列表。每一个菜单项应该是下列结构的数组: label string 菜单项的标签 url string|array 菜单项的网址 options array 菜单项的 HTML 属性 visible boolean 菜单项是否可见,默认为 true active boolean 菜单项是否处于活动状态 template string 菜单项的模板 items array 子菜单项,格式与父项相同 encode boolean 菜单项是否进行 HTML 编码 options array 菜单容器标签的 HTML 属性(最外围的 ul 标签) tag string 菜单容器的标签,默认为"ul" itemOptions array 所有菜单项的 HTML 属性 tag string 菜单项的容器标签,默认为"li" linkTemplate string 渲染菜单项的模板,默认为'<a href="{url}">{label}</a>' labelTemplate string 渲染空链接菜单项的模板,默认为'{label}' submenuTemplate string 渲染子菜单列表的模板,默认为"\n<ul>\n{items}\n</ul>\n" firstItemCssClass string 第一个菜单项的 CSS 类 lastItemCssClass string 最后一个菜单项的 CSS 类 hideEmptyItems boolean 是否隐藏空菜单项,默认为 true activateItems boolean 是否自动激活项目,默认为 true activateParents boolean 当子菜单项是活动的时候,是否激活父菜单项,默认为 false activeCssClass string 活动的菜单项的 CSS 类 encodeLabels boolean 菜单项是否进行 HTML 编码,默认为 true