AdminLTE的使用

第一次听说这个模板,留着以后用

原文链接:http://www.cnblogs.com/cryst/p/6001364.html

官方文档:https://adminlte.io/themes/AdminLTE/documentation/index.html

1.AdminLTE的必要配置文件<!-- Tell the browser to be responsive to screen width -->
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
<!-- Bootstrap 3.3.5 --> 
<link rel="stylesheet" href="${ctx}/assets/plugins/bootstrap/css/bootstrap.min.css">
<!-- Font Awesome -->
<link rel="stylesheet" href="${ctx}/assets/font/font-awesome/4.5.0/css/font-awesome.min.css">
<link rel="stylesheet" href="${ctx}/assets/font/Hui-iconfont/1.0.7/iconfont.css">
<!-- Theme style -->
<link rel="stylesheet" href="${ctx}/assets/css/AdminLTE.css">
<!-- AdminLTE Skins. Choose a skin from the css/skins folder instead of downloading all of them to reduce the load. -->
<link rel="stylesheet" href="${ctx}/assets/css/skins/_all-skins.min.css">

 <script type="text/javascript" src="${ctx}/assets/plugins/h-ui/js/H-ui.admin.js"></script>
 <!-- AdminLTE App -->
 <script src="${ctx}/assets/js/app-LTE.min.js"></script>

2.自定义主题样式

(1)在body中设置class。

<body class="hold-transition skin-blue sidebar-mini">

skin-blue:主题颜色,如果引入了_all-skins.min.css,有很多颜色可以选择,如左图,设置为skin-blue默认就为右图的主题样式。

        

sidebar-mini:在AdminLTE.css中可以找到。

   

(2)wrapper设置: AdminLTE.css

<div class="wrapper">
   <header class="main-header"></header>
   <aside class="main-sidebar"></aside>
   <section class="content-wrapper"></section>
</div>

header设置:放在header标签里。

<!- - Logo - ->
<a href="index2.html" class="logo">
<!-- mini logo for sidebar mini 50x50 pixels -->
  <span class="logo-mini">
     <img  src="${ctx}/assets/img/logo.png" width="40px" height="40px">
  </span>
  <span class="logo-lg">xxx后台管理系统</span>
</a>
<!- - Header Navbar - ->
<nav class="navbar navbar-static-top" role="navigation">
     <!-- Sidebar toggle button-->
     <a href="#" class="sidebar-toggle" data-toggle="offcanvas" role="button">
        <span class="sr-only">Toggle navigation</span>
     </a>
   <!-- Navbar Right Menu -->
   <div class="navbar-custom-menu">
      <ul class="nav navbar-nav">
      <!-- User Account: -->
      <li class="dropdown user user-menu">
           <a href="#" class="dropdown-toggle" data-toggle="dropdown">
              <img src="${ctx}/assets/img/user.png" class="user-image" alt="User Image">
              <span class="hidden-xs">${user.name}</span>
           </a>
           <ul class="dropdown-menu">
               <!-- User image -->
               <li class="user-header">
                  <img id="user-header" src="${ctx}/assets/img/user.png" class="img-circle" alt="User Image">
                  <p>${user.name}</p>
              </li>
              <!--Menu Body--> 
              <li class="user-body">
                  <div class="col-xs-4 text-center">
                       <a href="#">Followers</a>
                  </div>
                  <div class="col-xs-4 text-center">
                       <a href="#">Sales</a>
                  </div>
                  <div class="col-xs-4 text-center">
                       <a href="#">Friends</a>
                  </div>
              </li>
              <!-- Menu Footer-->
              <li class="user-footer">
                  <div class="pull-left">
                      <a id="systemsettingBtn" href="javascript:void(0)" class="btn btn-default btn-flat">修改密码</a>
                  </div>
                  <div class="pull-right">
                      <a href="${ctx}${apath}/logout" class="btn btn-default btn-flat">注销</a>
                  </div>
              </li>
           </ul>
       </li>
       <!-- Control Sidebar Toggle Button -->
       <li>
         <a href="#" data-toggle="control-sidebar">
            <i class="fa fa-gears"></i>
         </a>
       </li>
      </ul>
   </div>
</nav>

  header效果如下图所示,点击sidebar toggle button,logo-lg隐藏,logo-mini显示,如右图。

    

aside设置:放在aside标签里。

<!-- Left side column. contains the logo and sidebar -->
<aside class="main-sidebar">
<section class="sidebar">
 <!-- search form -->
 <form action="#" method="get" class="sidebar-form">
    <div class="input-group">
    <input type="text" name="q" class="form-control" placeholder="搜索...">

       <span class="input-group-btn">
           <button type="submit" name="search" id="search-btn" class="btn btn-flat">
              <i class="fa fa-search"></i>
           </button>
       </span>
     </div>
 </form>

 <!-- sidebar menu: : style can be found in sidebar.less -->
   <ul class="sidebar-menu">
   </ul>
   <script id="left-sidebarTmp" type="text/html">
       <li class="header ad-click">导航</li>
       <li class="active treeview">
          <a _href="${ctx}${apath}/dashboard" href="javascript:void(0)" data-title="首页">
            <i class="fa fa-dashboard"></i><span>首页</span><i class="fa fa-angle-left pull-right"></i>
          </a>
       </li>
       {{each sub1 as value i}}   //sub1 对应js代码中的 sub1 .
         <li class="treeview">
            <a {{if value.url}}_href="{{value.url}}"{{/if}} href="javascript:void(0)" data-title="{{value.name}}">
               <i class="fa {{value.ico}}"></i><span>{{value.name}}</span><i class="fa fa-angle-left pull-right"></i>
            </a>
            <ul class="treeview-menu">
              {{each value.sub as value1 i1}}   //对应 rootList[i].sub
               <li>
                  <a {{if value1.url}}_href="{{value1.url}}"{{/if}} href="javascript:void(0)" data-title="{{value1.name}}">
                    <i class="fa {{value1.ico}}"></i>{{value1.name}}
                  </a>
               </li>
              {{/each}}
            </ul>
         </li>
       {{/each}}
   </script>
 </section>
 </aside>

<script>
        function sloveSliderData (list, pid){
            var retList = [ ];
            var len = list.length;
            if (len > 0)
            {
           for (var i = 0; i < len; i++)
             {
             var x = list[i];
             if (x.pid == pid)
               {
                var node = {};
                node.name = x.name;
                if (x.url == undefined || x.url == null || x.url == "")
                  {
                     node.url = null;
                  }
                else
                  {
                     node.url = "${ctx}${apath}/page/" + x.url;
                  }
                     node.ico = x.ico;
                     node.pid = x.pid;
                     node.id = x.id;
                     retList.push (node);
                }
             else
                {
                }
              }
              }
            return retList;
        }
        $.HTTP.list (
        {
            url : "${ctx}${apath}/permission/list",
            success : function (list, pageinfo) {
                var rootList = [ ];
                rootList = sloveSliderData (list, 0);  //根据根菜单的pid为0,挑选出根菜单
                if (list.length > 0)
                {
                  for (var i = 0; i < rootList.length; i++)
                  {
                 rootList[i].sub = sloveSliderData (list, rootList[i].id); //根据pid为0挑选出的根菜单的id,作为子菜单的pid。
                  }
                }
                //组装数据源
                var sidebardata =
                {
                sub1 : rootList
                };
                console.log(sidebardata);
                //渲染菜单数据
                var dt = template("left-sidebarTmp", sidebardata);     //artTemplate方法
                $("#left-sidebar").html(dt);
            }
        });
</script>

注意:

${ctx}${apath}/permission/list接口的数据在数据库中手动添加,java后台有代码将数据存入这个接口。数据库字段与js代码所需的字段对应一致。


1

<span style="font-size: 14pt; font-family: 幼圆"><img src="http://images2015.cnblogs.com/blog/1019802/201610/1019802-20161028133415968-1857840470.png" alt=""></span>

经过js处理过的sidebardata:

成功后sidebar显示如下图所示:

 

 content设置:放在section标签里。

<!- - content - ->
<section class="content-wrapper">
    <div id="Hui-tabNav" class="Hui-tabNav ">
        <div class="Hui-tabNav-wp">
        <ul id="min_title_list" class="acrossTab cl" style="padding-left: 6px;">
            <li class="active">
                <span title="首页" data-href="${ctx}${apath}/dashboard">首页</span><em></em>
            </li>
        </ul>
        </div>
    </div>
    <div id="iframe_box" class="Hui-article">
        <div class="show_iframe">
           <div style="display: none" class="loading"></div>
           <iframe scrolling="yes" frameborder="0" src="${ctx}${apath}/dashboard"></iframe>
        </div>
    </div>
</section>

 点击sidebar的链接,对应的页面都会在iframe_box中显示出来。

时间: 2024-10-08 09:11:55

AdminLTE的使用的相关文章

ABP+AdminLTE+Bootstrap Table权限管理系统第十节--AdminLTE模板菜单处理

上节我们把布局页,也有的临时的菜单,但是菜单不是应该动态加载的么?,所以我们这节来写菜单.首先我们看一下AdminLTE源码里面的菜单以及结构. <aside class="main-sidebar"> <!-- sidebar: style can be found in sidebar.less --> <section class="sidebar"> <!-- Sidebar user panel --> &l

adminLTE 教程 -2 配置文件 app.js详解

我一般写代码,是设置一个index.html文件,然后在content里面通过ajax请求,动态替换页面内容来实现页面切换,以实现单页面的效果. adminLTE的配置文件是app.js,在页面中引入即可,想修改配置,一般不应该修改配置文件,而是在配置文件之前写一段js代码,通过给变量(adminLTE指定的) AdminLTEOptions  赋值,加载app.js的时候回先检测有没有该变量,优先使用该变量的配置,该变量没有赋值的配置信息再使用app.js里面原有的配置.然后对页面进行配置.如

adminLTE 教程 -4 轮播控件

轮播可以放在首页用来展示需要显示的内容,其实内容没有什么可以讲解的,就是在box下面放了carousel控件. 在adminLTE演示页面搜索Carousel <div class="box box-solid"> <div class="box-header with-border"> <h3 class="box-title">Carousel</h3> </div> <!--

adminLTE 教程 -0 基础布局

基础布局. 1.meta没的说 2.引入bootstrap 3.引入字体库,肯定用得到,下载到本地放在plugins下也可以 4.adminLTE子什么的文件肯定需要 5.皮肤skin,可以引入_all...,但是如果只需要一个皮肤的话,比如只需要蓝色,直接引入skin-blue就行,毕竟越简越好 6.兼容IE8的两个js文件 7.jquery没的说 8.fastclick,触摸设备快速点击体验,不想兼容手机可以去掉 9.slimscroll,菜单和页面中的滚动条样式,放上去毕竟好看嘛.(看一下

adminLTE 教程 -1 基础

先介绍一下adminLTE的官方网站:adminLTE官方网站 和github:adminLTE的github 演示地址:adminLTE演示地址 大家可以在上面的官方网站或者github上下载源码 adminLTE是基于bootstrap3的前端框架,并且将bootstrap3进行修改来适应自身的样式. adminLTE除了可以使用bootstrap3的大多数样式之外,自身也提供了一些非常实用的样式包装,并且在样式演示中已经基本罗列出来了. adminLTE的js是基于jquery2. adm

Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端

参考页面: http://www.yuanjiaocheng.net/ASPNET-CORE/mvc-design-pattern.html http://www.yuanjiaocheng.net/ASPNET-CORE/mvc-routing.html http://www.yuanjiaocheng.net/ASPNET-CORE/attribute-route.html http://www.yuanjiaocheng.net/ASPNET-CORE/core-actionresults

AdminLTE

AdminLTE搭建前端 0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之权限管理系统(2) 实体设计 github源码地址 0 布局页.起始页及错误页 0.0 布局页 使用布局页相当于一个母版页,可以将各个页面公用部分,如上方标题区.左侧导航菜单区.下方版权声明及状态显示区以及通用的js及css引用等,集中放到布局页管理,具体功能页面只需关注自

用C#从数据库动态生成AdminLTE菜单的一种方法

用C#从数据库动态生成AdminLTE菜单的一种方法 当前的应用设计风格趋于Flat扁平化,很多基于BootStrap实现了很多UI非常漂亮的管理界面(Bootstrap admin template). 此核心文件开源在Github:https://github.com/JackWangCUMT/AdminLTE-Menu-Generate.首先看一下主界面: 查看左边导航的菜单html结构(下面代码有错误,HTML自定义属性直接用空格进行分割,而不是,号进行分割,不然jquery获取定义属性

使用像AdminLTE的前端框架,树形导航菜单实现方式都有哪些?

之前用easyui等富前端框架开发的时候都是使用封装好的县城的插件,现在使用最新的类似AdminLTE似的前段框架实现树形菜单都用什么方式? 后台拼接html然后前端用JS append方法添加还是直接后台返回值前端用js循环添加? 各位看官有啥好的实现方式或者是有其他的方便的插件推荐的,可以说出来一起讨论一下

AdminLTE 学习笔记

使用adminlte进行页面布局需要四个主要部分: .wrapper  : 页面的整体框架 .main-header : logo和顶部导航栏 .sidebar-wrapper  :  包含用户面板和侧边导航栏 .content-wrapper  :  包含页面和内容主体部分 adminlte有一些 用于各种布局的类名,可以将这些类中的每一个添加到dom标签 以获得所需的布局效果. 使用 .fixed 固定得到一个固定的头和侧边栏. 使用类.sidebar-collapse 加载时有一个边栏.