cscfa / navbar-bundle
NavBarBundle 是一个 symfony2 导航栏管理器,它使用 Resources/config/navbar.yml 文件来管理导航栏的显示
Requires
- php: >=5.3.9
- cscfa/cache-system-bundle: dev-master
- symfony/framework-bundle: ~2.1
This package is not auto-updated.
Last update: 2024-09-14 18:26:09 UTC
README
版本:1.0.5-dev
NavBarBundle 允许从 Resources/config 目录下放置的 navbar.yml 文件创建导航栏。
#####安装
在 app/appKernel.php 中注册该包
// app/AppKernel.php
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = array(
[...]
new Cscfa\Bundle\NavBarBundle\CscfaNavBarBundle(),
);
[...]
}
}
#####navbar.yml 文件结构
'navbar.yml' 文件的默认位置在 'Resources/config' 目录。可以通过以下配置更改此位置
cscfa_nav_bar:
files_path: "path"
注意给定的路径必须以 '/' 开头,并包含完整的文件名。(例如默认配置:'/Resources/config/navbar.yml')
######文件格式是
navbar:
name:
label: ""
roles: []
parent: ""
path: {route: "", param: {}}
url: ""
options: mixed
position: integer
'navbar' 元素是根元素。
'name' 元素是导航栏元素的标识符,它可以用来定义父元素,如果没有定义 'label',它将被用作标签。
'label' 元素用于渲染元素文本。这是一个可选元素。
'roles' 元素用于根据当前用户角色渲染或显示元素。这是一个可选元素。
'parent' 元素用于定义当前元素的父元素,用于渲染逻辑。这是一个可选元素。
'path' 和 'url' 元素用于定义导航栏元素的目标。'path' 元素是一个生成应用程序路由,其中 'route' 是路由名称,'param' 是路由参数。这是一个可选元素。
'options' 元素用于向渲染模板发送选项。这是一个可选元素。
'position' 元素用于在导航栏中设置元素的位置。它对头部元素进行排序,而不是在父元素内部对子元素进行排序。注意默认位置可以通过配置中的 'default_position' 参数设置。
#####模板
使用 twig 函数 '{{ renderNavbar() }}' 显示使用默认模板的导航栏。
要使用个人模板,请使用 app/config/config.yml 中的以下参数
cscfa_nav_bar:
template: "bundleName:directory:template.html.twig"
child_template: "bundleName:directory:template.html.twig"
'template' 参数定义导航栏的根模板。模板接受导航栏元素作为 'element' 变量。
'child_template' 参数定义导航栏每个元素的渲染模板。此模板接受一个子元素作为 'element' 变量,以及导航栏嵌套级别作为 'nestedLevel' 变量。
#####使用缓存
默认情况下,导航栏加载器将使用缓存来存储构建的导航栏。请在 'app/config/config.yml' 中进行以下配置
cscfa_nav_bar:
cache:
enable: true|false
id: 'the_cache_id'