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() 方法将获取到网站架构图根目录的菜单,返回的结果是一个数组,

例子:

<?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() 用来获取网站架构图的子菜单, 输出为子菜单的字符串.包含一个参数, 设置为:

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() 用来获取子菜单列表,返回一个数组, 有一个参数, 设置为:

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; //打印访问页面的类型
}
?>