一、前言
文章成体系,如果有不明白的地方请查看前面的文章。
二、目录
1.创建HTML页面
2.将HTML文件转换为SharePoint母版页
3.在 SPD中修改母版页“PlaceHolderMain代码段”位置
4.发布母板页
5.使用母版页
6.最终效果
7.母版页转换中的重要知识点介绍
1.创建HTML页面
在电脑的任意位置(此处示例放到D盘的根目录下)创建TestMaster.html文件
(1)文件位置:
(2)文件源码:
<!DOCTYPE html> <html> <head> <title>测试母版页</title> </head> <body> <div style="font-size: 24px; color: #ff0000; margin: 0px auto; text-align: center">这里是页头</div> <div style="font-size: 24px; color: #0000ff; margin: 0px auto; text-align: center">这里是页尾</div> </body> </html>
(3)效果预览
2.将HTML文件转换为SharePoint母版页
1.点击右上角的【小齿轮】--【设计管理器】--【编辑母版页】--【将HTML文件转换为SharePoint母版页】,如下图所示:
2.在弹出的”选择资产”页面点击【添加】,如下图所示:
3.在弹出的“添加母版页”页面中点击【浏览】找到在D盘的TestMaster.html文件并点击【确定】按钮,如下图所示:
4.在弹出的“母版页栏目库”设置中选择内容类型为“设计文件”并修改标题(此处为测试母版页),点击【保存】按钮,如下图所示:
5.在“选择资产”页面选择刚刚上传的TestMaster.html文件并点击【插入】按钮,如下图所示:
6.母版页转换成功,如下图所示:
3.在 SPD中修改母版页“PlaceHolderMain代码段”位置
1.找到已安装的SPD,如下图所示:
2.在SPD中打开你的网站,如下图所示:
3.点击导航中的【母版页】,双击【TestMaster.html】文件,如下图所示:
4.点击【编辑文件】,如下图所示:
5.找到”<div data-name=”ContentPlaceHolderMain”></div>”的div块状元素(一般会在整个页面的最下方),如下图所示:
6.将”<div data-name=”ContentPlaceHolderMain”></div>”的div块状元素拷贝到应该放置的位置(一般为页头和页尾之间)保存文件并关闭,如下图所示:
注:笔者曾经试过直接将ContentPlaceHolderMain代码段在创建html时就加入,但经过SP的转换后仍然会在最下方重新生成新的ContentPlaceHolderMain代码段,根据微软官方说明也没有查阅到可以在创建的时候“定位母版页的占位符”。但在SP中创建并转换然后通过SPD来修改才能完成这整体的一个步骤似乎是不合理的。
4.发布母板页
1.再次点击右上角的【小齿轮】--【设计管理器】--【编辑母版页】,如下图所示:
2.点击TestMaster后面的【…】,在弹出的功能项中再点击【…】,然后点击【发布主要版本】,如下图所示:
3.填写注释并点击【确定】按钮,如下图所示:
4.转换成功后状态改变了“已批准”,如下图所示:
5.使用母版页
1.点击右上角的【小齿轮】--【网站设置】--【母版页】,如下图所示:
2.在网站母版页中选择TestMaster,点击【确定】按钮,如下图所示:
6.最终效果
7.母版页转换中的重要知识点介绍
1.TestMaster.html与TestMaster.master
细心的朋友可能会看到,将 .html 文件转换为 SharePoint 2013 母版页后系统中会存在两个同名母版页文件,此篇文章中为:TestMaster.html与TestMaster.master。
TestMaster.html为微软为我们提供的可修改的文件,我们在修改母版页时直接在该文件上修改内容,保存 HTML 文件后,这些更改内容会同步到关联.master中。
TestMaster.master为在SP中实际应用的文件。该文件在默认的情况下是只读的,你不可以通过SP或其他文件进行修改,如果去掉了文件的“只读”属性强行修改该文件后,当你再次保存.html文件时,.master中的修改结果将会被.html覆盖。
2. 为什么要转换 HTML 文件,而不是从头开始创建 .master 文件?
在 SharePoint 2013 中,母版页就像在 ASP.NET 中一样工作,但 SharePoint 还要求特定于 SharePoint 的某些元素(如控件和内容占位符)必须存在于该页面上,SharePoint 才能正确呈现该母版页。使用设计管理器将 HTML 文件转换为完整功能的 SharePoint 母版页,您就不必知道 ASP.NET 或 SharePoint 特定标记,而将精力集中于用 HTML、CSS 和 JavaScript 设计您的网站。
3.如果我更习惯修改.master而不想使用.html转换,怎么办?
(1)在该母版页的设置中找到【编辑属性】,如下图所示:
(2)去掉关联文件的【对号】即可,如下图所示: