在开发后台项目时,后台界面的导航等等的公共部分都是重复使用的,如果每个页面都要写公共部分的页面布局的话,代码会显得格外臃肿多余。此时,html页面分离引用就显得非常重要。
如下图的后台页面。(黑色部分是页面公用的部分)
接下来进行页面分离:
分析(使用layui基本的后台布局界面做分离例子,如上图的界面):
layui基本后台的html页面代码的基本结构如下:
<!-- 头部 --><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"><title>layout 后台大布局 - Layui</title><link rel="stylesheet" href="../src/css/layui.css"></head><!-- 文件引入部分 包括css 和 js 文件的引入 --><!-- 躯干部分,导航部分 --><body class="layui-layout-body"><div class="layui-layout layui-layout-admin"><div class="layui-header"><div class="layui-logo">layui 后台布局</div><!-- 头部区域(可配合layui已有的水平导航) --><ul class="layui-nav layui-layout-left"><li class="layui-nav-item"><a href="">控制台</a></li><li class="layui-nav-item"><a href="">商品管理</a></li><li class="layui-nav-item"><a href="">用户</a></li><li class="layui-nav-item"><a href="javascript:;">其它系统</a><dl class="layui-nav-child"><dd><a href="">邮件管理</a></dd><dd><a href="">消息管理</a></dd><dd><a href="">授权管理</a></dd></dl></li></ul><ul class="layui-nav layui-layout-right"><li class="layui-nav-item"><a href="javascript:;"><p style="display:none" data-type="png" data-w="254" style="">接下来介绍各个文件的代码:
head.html
<meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"><title>{$title}</title><!-- {$title} 在tp的控制器中通过 $this->assign('title',"title名");定义即可 -->files.html
<link rel="stylesheet" href="__Layui__/css/layui.css"><link rel="stylesheet" href="__STATIC__/iconfont/logo_icon.css"><link rel="stylesheet" href="__STATIC__/css/admin/nav.css"><script src="__STATIC__/layui/jquery.js"></script><script src="__Layui__/layui.all.js"></script>nav.html
<body class="layui-layout-body"><div class="layui-layout layui-layout-admin"><div class="layui-header"><div class="layui-logo"><span class="logoBox" id="logoBox" title="首页"><icon class="iconfont icon-cangku zhang_icon-cangku"></icon><span class="SystemStyle">SystemName</span></span></div><!-- 头部区域(可配合layui已有的水平导航) --><ul class="layui-nav layui-layout-left"><li class="layui-nav-item"><a href="">控制台</a></li><li class="layui-nav-item"><a href="">商品管理</a></li><li class="layui-nav-item"><a href="">用户</a></li><li class="layui-nav-item"><a href="javascript:;">其它系统</a><dl class="layui-nav-child"><dd><a href="">邮件管理</a></dd><dd><a href="">消息管理</a></dd><dd><a href="">授权管理</a></dd></dl></li></ul><ul class="layui-nav layui-layout-right"><li class="layui-nav-item"><a href="javascript:;"><img src="__STATIC__/images/logo/logo.png" class="layui-nav-img">贤心</a><dl class="layui-nav-child"><dd><a href="">基本资料</a></dd><dd><a href="">安全设置</a></dd><dd><a href="">退出登录</a></dd></dl></li><li class="layui-nav-item"><a href="">退了</a></li></ul></div><div class="layui-side layui-bg-black"><div class="layui-side-scroll"><!-- 左侧导航区域(可配合layui已有的垂直导航) --><ul class="layui-nav layui-nav-tree" lay-filter="test"><li class="layui-nav-item layui-nav-itemed"><a class="" href="javascript:;">所有商品</a><dl class="layui-nav-child"><dd><a href="javascript:;">列表一</a></dd><dd><a href="javascript:;">列表二</a></dd><dd><a href="javascript:;">列表三</a></dd><dd><a href="">超链接</a></dd></dl></li><li class="layui-nav-item"><a href="javascript:;">解决方案</a><dl class="layui-nav-child"><dd><a href="javascript:;">列表一</a></dd><dd><a href="javascript:;">列表二</a></dd><dd><a href="">超链接</a></dd></dl></li><li class="layui-nav-item"><a href="{:url('Partitions/index')}">仓库分区管理</a></li><li class="layui-nav-item"><a href="">发布商品</a></li></ul></div></div><div class="layui-body"><!-- 内容主体区域 --><div style="padding: 15px;">footer.html
</div></div><div class="layui-footer"><!-- 底部固定区域 -->? layui.com - 底部固定区域</div></div></body></html>在Base.html文件中构建html的基本格式。即使用上述的分离出来的文件进行拼接。
拼接后代码如下:
{block name="head"}{include file="Public/head"/} //头部部分{/block}{block name="files"}{include file="Public/files" /} //文件引入部分{/block}{block name="nav"}{include file="Public/nav" /} //固定部分{/block}{block name="contents"}主体内容部分 //主图内容部分,因为是变化的部分,不需要引入文件{/block}{block name="footer"}{include file="Public/footer" /} //页底固定部分{/block}</body></html>使用方法:
在需要使用的页面中继承上面的Base.html文件,若需要对各个部分进行修改的话,直接在当前页面对对应的部分进行修改即可。
继承方法如下:
{extend name="Public:Base"/}//继承Base页面。显示的结果受Base页面的影响。{block name="files"}//同理,若要修改文件导入的部分,即可在此直接引入需要的css或者js文件即可。{/block}{block name="contents"}//因为主体部分是变化的,所以在这里写主体部分的html代码即可。{/block}
版权声明:本站部分内容由互联网用户自发贡献,文章观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请拨打网站电话或发送邮件至1330763388@qq.com 反馈举报,一经查实,本站将立刻删除。
文章标题:tp5 后台开发公共部分的 html 页面分离 方法。发布于2024-01-16 22:34:12

