CMPHP/ui_sidebar.php

73 lines
1.8 KiB
PHP
Raw Normal View History

2017-02-23 15:21:34 +08:00
<?php
2016-08-21 23:06:17 +04:00
2023-07-07 18:32:06 +08:00
require_once "cm/tools.php";
require_once "cm/tools_session.php";
require_once "cm/tools_json.php";
2016-08-21 23:06:17 +04:00
2017-03-10 10:50:11 +08:00
class UISideBar
{
private $active_page=null;
private $bar_list=null;
private $sidebar_width; //bootstarp中屏幕被分为12列宽我们在PC桌面宽度环境导航栏宽度设为1。手机/平板纵屏中导航栏宽度设为2
2016-08-21 23:06:17 +04:00
2017-03-10 10:50:11 +08:00
public function __construct($ap,$sw)
{
$this->active_page=$ap;
$this->sidebar_width=$sw;
2017-03-10 10:50:11 +08:00
}
2017-03-10 11:09:03 +08:00
public function add($code,$text,$link)
2017-03-10 10:50:11 +08:00
{
$this->bar_list[$code]=array("link"=>$link,"text"=>$text);
}
2017-03-10 11:09:03 +08:00
public function set_active($code)
{
$this->active_page=$code;
}
2017-03-10 10:50:11 +08:00
public function to_json()
{
return json_encode($bar_list,JSON_UNESCAPED_UNICODE);
}
2016-08-21 23:06:17 +04:00
2017-03-10 10:50:11 +08:00
private function echo_item($code,$text,$link)
{
2016-08-21 23:06:17 +04:00
echo '<a class="list-group-item';
2017-03-10 10:50:11 +08:00
if($code==$this->active_page)
2016-08-21 23:06:17 +04:00
echo ' active';
echo '" href="'.$link.'">'.$text.'</a>';
2017-03-10 10:50:11 +08:00
}
public function start()
{
if($this->bar_list==null)return;
2016-08-21 23:06:17 +04:00
echo '<div class="row" style="margin-left: 0px; margin-right: 0px;">';
2023-07-07 18:32:06 +08:00
echo '<div class="col-xxl-'.$this->sidebar_width.' bs-docs-sidebar" style="padding-top: 15px;">
2016-08-21 23:06:17 +04:00
<div class="list-group bs-docs-sidenav affix-top">';
2017-03-10 10:50:11 +08:00
foreach($this->bar_list as $code=>$obj)
{
$link=$obj["link"];
$text=$obj["text"];
2017-03-10 11:09:03 +08:00
$this->echo_item($code,$text,$link);
2017-03-10 10:50:11 +08:00
}
2016-08-21 23:06:17 +04:00
echo '</div>
2023-07-10 20:15:28 +08:00
</div>
2023-07-07 18:32:06 +08:00
<div div class="col-xxl-'.(12-$this->sidebar_width).'" style="padding-left: 0px;">';
2017-03-10 10:50:11 +08:00
}
2016-08-21 23:06:17 +04:00
2017-03-10 10:50:11 +08:00
public function end()
{
echo '</div>
</div>';
2017-03-10 10:50:11 +08:00
}
};//class UISideBar
2023-07-07 18:32:06 +08:00
?>