DiagramTag 网站架构图标签
DiagramTag一个网站架构图类,是用来获取一些网站架构图信息的标签,如: 主菜单, 子菜单, 当前位置等的信息.
获取方法
diagram()
diagram() 是用来获取网站网站架构图对象, 它包含一个参数,该参数默认为空的array(),设置为:
array( 'uri' => '' // uri为一个字符串, 为网站架构图的访问网址 ).
- 当参数为空时自动获取当前访问的diagram对象
- 当设置了参数,择获取参数uri指定的diagram对象
例子:
<?php echo DiagramTag::diagram()->title; //打印当前访问页面的标题 echo DiagramTag::diagram()->uri; //打印当前访问页面的访问网址 echo DiagramTag::diagram()->type; //打印当前访问页面的类型 echo DiagramTag::diagram()->id // 打印当前访问页面的id echo DiagramTag::diagram()->content // 打印当前访问页面的内容 $parent = DiagramTag::diagram()->parent; //获取当前访问页面的父类,为一个对象, 属性和diagram一样 $children = DiagramTag::diagram()->children //获取当前访问页面的子类, 为一个数组, 每个child的属性和diagram一样 ?>
position_as_span()
position_as_span()方法获取得到当前访问所在的位置, 返回结果为一个字符串, 包含有一个参数, 设置为:
array( 'uri' => '', // uri为一个字符串, 为网站架构图的访问网址 'space' =>' > ' , // 为当前位置之间的间隔符号, 默认为 " > ", 'home' => false // 为是否在首页显示, 默认为false, 不在首页显示 )
例子:
<?php echo DiagramTag::position_as_span(); // 打印出会在首页也显示位置的 当前位置 ?>
将输出:
<span id="position" class="position"> <a href="/index.php/">首页</a> > <a href="/index.php/about">关于我们</a> > <a href="/index.php/about">公司简介</a> </span>
例子2
<?php
echo DiagramTag::position_as_span(array('space'=>' » ')); // 打印会在首页也显示位置的当前位置, 用' » '来分隔
?>
将输出:
<span id="position" class="position"> <a href="/index.php/">首页</a> » <a href="/index.php/about">关于我们</a> » <a href="/index.php/about">公司简介</a> </span>
mainmenu_as_ul()
mainmenu_as_ul()方法将输出网站的主菜单,输出为一个字符串, 包含一个参数,设置为:
array( ' ul_class' => '', // 设置菜单的ul的class样式, 默认为空 'li_class' => '', // 设置菜单的li样式, 默认为空 'li_selected_class' => 'selected', // 设置菜单的li为当前菜单的状态, 默认为selected 'a_class' => '', // 设置菜单中a的class样式, 默认为空 'a_selected_class' => '' // 设置菜单中a的选中时的样式 )
例子1: 使用默认的设置输出主菜单
<?php echo DiagramTag::mainmenu_as_ul(); // 打印主菜单, ?>
将输出
<ul> <li id="mainmenu_1" class="selected"><a href="/">首页</a></li> <li id="mainmenu_2"><a href="/about">关于我们</a></li> <li id="mainmenu_3"><a href="/contact">联系我们</a></li> </ul>
例子2: 设置li选中状态和a的选中状态
<?php
echo DiagramTag::mainmenu_as_ul(array('li_selected_class'=>'current', 'a_selected_class'=>'current_a')); // 设置主菜单的li选中样式为current, a的选中样式为current_a
?>
将输出
<ul> <li id="mainmenu_1" class="current"><a href="/" class="current_a">首页</a></li> <li id="mainmenu_2"><a href="/about">关于我们</a></li> <li id="mainmenu_3"><a href="/contact">联系我们</a></li> </ul>
例子3:设置li的样式和a的样式
<?php
echo DiagramTag::mainmenu_as_ul(array('li_class'=>'my_li_class', 'a_class'=>'my_a_class')); // 设置主菜单的li样式为my_li_class, a的样式为my_a_class
?>
将输出:
<ul>
<li id="mainmenu_1" class="selected"><a href="/">首页</a></li>
<li id="mainmenu_2" class="my_li_class"><a href="/about" class="my_a_class">关于我们</a></li>
<li id="mainmenu_3" class="my_li_class"><a href="/contact" class="my_a_class">联系我们</a></li>
</ul>
mainmenu()
mainmenu() 方法将获取到网站架构图根目录的菜单,返回的结果是一个数组,
例子:
<?php
foreach(DiagramTag::mainmenu() as $mainmenu) {
echo $mainmenu->title; // 打印菜单标题
echo $mainmenu->uri // 打印菜单网址
?>
root()
root() 是用来获取网站架构图的根菜单对象, 返回一个diagram对象.包含一个参数,设置如下.
array( 'uri' => '' // uri为一个字符串, 为网站架构图的访问网址 )
- 当uri为空时,自动获取当前访问的uri的根菜单
- 当指定uri时, 获取指定uri的根菜单
例子:
<?php
echo DiagramTag::root()->id; // 打印当前网站架构图的根对象的id
echo DiagramTag::root()->title; //打印当前网站架构图的根对象的标题
echo DiagramTag::root()->uri; // 打印当前网站架构图的根对象的uri访问网址
echo DiagramTag::root()->type; // 打印当前网站架构图的根对象的类型
echo DiagramTag::root(array('uri'=>'download/plugins'))->id; // 打印指定网站架构图的根对象的id
echo DiagramTag::root(array('uri'=>'download/plugins'))->title; //打印指定网站架构图的根对象的标题
echo DiagramTag::root(array('uri'=>'download/plugins'))->uri; // 打印指定网站架构图的根对象的uri访问网址
echo DiagramTag::root(array('uri'=>'download/plugins'))->type; // 打印指定网站架构图的根对象的类型
?>
submenu_as_ul()
submenu_as_ul() 用来获取网站架构图的子菜单, 输出为子菜单的字符串.包含一个参数, 设置为:
array(
'ul_class' => '', // ul样式,默认为空
'li_class' => '', // li样式,默认为空
'li_selected_class' => 'selected', // li 选中样式,默认为 selected
'a_class' => '', // a的样式, 默认为为空
'a_selected_class' => '', // a选中样式, 默认为空
'uri' => '' // 指定要获取的diagram, 默认为空, 自动获取当前访问的diagram
'start_level'=>0 //设定要从第几级开始获取子菜单
)
例子1:
<?php echo DiagramTag::submenu_as_ul(); // 将输出当前页面的子菜单列表 ?>
例子2:
<?php
echo DiagramTag::submenu_as_ul(array('a_selected_class'=>'current_a')); // 指定a样式的子菜单
?>
submenu()
submenu() 用来获取子菜单列表,返回一个数组, 有一个参数, 设置为:
array( 'uri' => '' // 网站架构图的访问网站, 默认为空 ).
- 当uri为空时,自动获取当前访问的子菜单列表
- 当指定uri时,获取指定uri的diagram对象的子菜单
例子:
<?php
$submenus = DiagramTag::submenu();
foreach($submenus as $submenu) {
echo $submenu->title; //打印子菜单标题
echo $submenu->uri //打印子菜单网址
}
?>
trace()
trace()用来获取当前用户访问网站的轨迹, 返回为一个数组
例子:
<?php
foreach(DiagramTag::trace() as $item) {
echo $item->title; //打印访问页面的标题
echo $tiem->uri; //打印访问页面的网址
echo $tiem->type; //打印访问页面的类型
}
?>