前两篇介绍了入门相关知识及对keystonejs整体可用性评估,这篇介绍下开始实际运用中的页头页脚部分,因为马上项目忙了,这个先匆匆的作个收尾。

不管是用WordPress还是其他CMS系统,应用最宽泛的也是最基础的就是企业宣传类网站,我们就讲下keystonejs实现的头尾改造,效果如下图:
PC页头

PC页脚

移动页头

移动页脚

具体改造也很简单,首先找到H:workspacekeystonejs-projectroutesmiddleware.js文件,然后增加navLinksCN代码如下:

  1. exports.initLocals = function(req, res, next) {
  2. res.locals.navLinks = [
  3. { label: 'Home', key: 'home', href: '/' },
  4. { label: 'Blog', key: 'blog', href: '/blog' },
  5. { label: 'Gallery', key: 'gallery', href: '/gallery' },
  6. { label: 'Contact', key: 'contact', href: '/contact' },
  7. ];
  8. res.locals.navLinksCN = [
  9. { label: '首页', key: 'home', href: '/' },
  10. { label: '新闻动态', key: 'blog', href: '/blog' },
  11. { label: '作品展示', key: 'gallery', href: '/gallery' },
  12. { label: '联系我们', key: 'contact', href: '/contact' },
  13. ];
  14. res.locals.user = req.user;
  15. next();
  16. };

然后找到H:workspacekeystonejs-projecttemplateslayoutsdefault.pug文件,复制一份,改名如main.pug,接下来就是具体的HTML+CSS部分了。

  • 在site.css下方再引入我们自定义的样式文件如:link(href="/styles/style.css", rel="stylesheet")
  • 添加header代码,如:
  1. //- HEADER
  2. div(style='width:100%')
  3. //- Customise your site's navigation by changing the navLinks Array in ./routes/middleware.js
  4. //- ... or completely change this header to suit your design.
  5. .box1#head
  6. .navBox
  7. .mabox
  8. .weima
  9. img(src='../images/ma.jpg')
  10. a.nav-left(href='index')
  11. img(src='../images/logo.svg')
  12. .nav-right
  13. div
  14. a.weibo(href='',target='_blank')
  15. a.weixin
  16. a.gouwuche(href='',target='_blank')
  17. .nav-center
  18. ul.menu
  19. each link in navLinksCN
  20. li(class=(section == link.key ? 'active' : null)): a(href=link.href)= link.label
  21. nav(role='navigation').navbar.navbar-default
  22. .container-fluid
  23. .navbar-header.text-right
  24. button(type='button').navbar-toggle
  25. span.sr-only 切换导航
  26. span.icon-bar
  27. span.icon-bar
  28. span.icon-bar
  • 添加footer部分代码,如:
  1. //- FOOTER
  2. //- .container: #footer
  3. .box1.foot#foot
  4. .top
  5. .box2 返回顶部
  6. .box2
  7. .dianshang
  8. span xxx电商渠道:
  9. p
  10. a(href="http://" target="_blank") 天猫
  11. a(href="http://" target="_blank") 京东
  12. a(href="http://" target="_blank") 苏宁
  13. a(href="http://" target="_blank") 微信商城
  14. .cont
  15. .d1
  16. img(src='../images/ma2.jpg')
  17. .d2
  18. p 正月初五科技有限公司
  19. p 联系电话:400-8888-888
  20. p 北京市朝阳区朝阳门大街88
  21. .d3
  22. img(src='../images/ma2.jpg')
  23. p.bei ©2014-2017 正月初五 版权所有 | ICP88888888号-1
  • 最后,把具体views中页面引用的default模板改成main,如:
  1. extends ../layouts/main

好了,重启下应用看看效果吧。
备注:
pug模板引擎中文文档pug文档

keystonejs实战之页头页脚的更多相关文章

  1. Delphi TdxComponentPrinter页头页脚的设定

    TdxComponentPrinter页头页脚的设定 抄一段备忘.用程序控制也一样.如果是这样,那么 双击TdxComponentPrinter控件,在出现的窗口中,点击ADD,建立一个与TcxGri ...

  2. 【京东账户】——Mysql/PHP/Ajax爬坑之页头页尾加载

    一.引言 实现京东的账户项目,有一个小功能,页头页尾加载.要用到的是Apach环境,Mysql.PHP以及Ajax. 二.实现 原理: 用php文件分别写一个的页头和一个页尾,放在前后两个div里. ...

  3. Lodop打印表格带页头页尾 自动分页每页显示头尾

    Lodop中有两种专门给超文本表格的方式,ADD_PRINT_TABLE和ADD_PRINT_TBURL,该方式只能用于单个表格,表格外的内容不显示,是专门用于打印html超文本表格的.使用这两个语句 ...

  4. Lodop打印表格带页头页尾 高度是否包含页头页尾

    通过设置TableHeightScope,可以实现对ADD_PRINT_TABLE,表格带页头页尾,查看本博客另一篇博文:Lodop打印表格带页头页尾 自动分页每页显示头尾 超文本超过打印项高度,会自 ...

  5. Lodop打印表格带页头页尾 高度是否包含页头页尾 转载

    通过设置TableHeightScope,可以实现对ADD_PRINT_TABLE,表格带页头页尾,查看本博客另一篇博文:Lodop打印表格带页头页尾 自动分页每页显示头尾 超文本超过打印项高度,会自 ...

  6. 开启SSI配置使shtml支持include公用的页头页脚

    编写编写项目众多静态文件时,能像php等开发语言一样使用include将页面公有的header/footer/sidebar作为公用.独立.单一的文件引入到各页面上,这样修改这些页面公用部分时就能单独 ...

  7. django-xadmin使用之配置页眉页脚

    环境:xadmin-for-python3 python3.5.2 django1.9.12 在模块的adminx.py文件中增加以下代码即可: # TIP 定义页头页脚 class GlobalSe ...

  8. LaTeX 页眉页脚的设置

    Latex中页眉页脚的设置 1. 首先要加页眉页脚的话,需要启动宏: 我通常用fancyhdr宏包来设置页眉和页脚. \usepackage{fancyhdr} 我们在 LaTeX 中先把 page ...

  9. 移动端页头推荐配置 出现找不到favicon.ico错误原因和解决方法

    favicon 在未指定 favicon 时,大多数浏览器会请求 Web Server 根目录下的 favicon.ico .为了保证 favicon 可访问,避免404,必须遵循以下两种方法之一: ...

随机推荐

  1. Java并发编程之程序运行堆栈分析

    Java程序运行的堆栈分析 1.JVM运行时数据区 JVM通过加载class文件的数据来执行程序.JVM在运行时会划分不同的区域以存放数据.如下图所示: 线程共享部分:所有线程都能访问这块内存的数据, ...

  2. Python3 Selenium自动化web测试 ==> 第三节 常用WebDriver API使用示例上(24个API)

    前置步骤: 安装selenium,chrome驱动,Python3.6 学习目的: 常见API的使用 涉及的API: step1: 访问一个网址 step2: 网页的前进和后退 step3: 刷新当前 ...

  3. Linux删除命令rm

    在用Linux的时候,有时分要删除一个文件夹,常常会提示次此文件非空,没法删除,这个时分,必需运用rm -rf命令.关于一些小白用户常常在运用Linux命令,会十分当心,以免搞出一些事情,下面小编将教 ...

  4. Linux高级命令进阶(week1_day2)

    Linux高级命令进阶(week1_day2)--技术流ken   输出重定向   场景:一般命令的输出都会显示在终端中,有些时候需要将一些命令的执行结果想要保存到文件中进行后续的分析/统计,则这时候 ...

  5. div随着屏幕滚动而滚动

    <script type="text/javascript"> $(document).ready(function () { var menuYloc = $(&qu ...

  6. Windows Runtime (RT)

    学了sl for wp 开发了1年都没入门,只能说自己的学习欲望太低了. 今天偶然才发现wrt 跟 .net 是2个东西... orz. 得抛弃 sl ,wrt才是未来的主流吧... 这篇文章不错 h ...

  7. $store.getters调用不执行

    $store.getters调用不执行 api:https://vuex.vuejs.org/zh/guide/getters.html 场景: 在登录时将登录得到的用户信息存储在vuex的state ...

  8. python之json操作

    1.json.dumps()用于将dict类型的数据转成str 备注:文件路径前面加上 r 是为了避免转义 1 import json 2 3 dict = {'a': 'wo', 'b': 'zai ...

  9. document.body.scrollTop无效的解决方法

    1.document.body.scrollTop = 0 有时候不生效,两种解决方案,试试看. 1-1.设置:document.documentElement.scrollTop = 0;1-2.设 ...

  10. 运行期优化 Java内存模型与线程 线程安全与优化