关于 SharePoint 定制化

By | October 16, 2015

Date: 2015-10-16
Title: 关于 SharePoint 定制化
Intro: 关于 SharePoint 定制化
Tags: SharePointCustomization
Status: public

SharePoint customization(定制化) 是一个很有趣的话题, 本文会从几个角度简单罗列出有关定制化的概念和方法。

重要概念

母版页( Master Page)

SharePoint 母版页简介 一文会帮助你理解母版页的各种问题, 重要的内容汇总如下:

  • 母版页定义 SharePoint 页面的通用布局和界面。 母版页显示在您在网站上的页面之间导航时会看到的永久性元素。 这些元素可包括公司徽标、标题、导航菜单、搜索框以及与公司或组织相关的色彩或图形。 在 SharePoint 网站上,您还可能会看到永久性登录链接、“网站操作”菜单和功能区命令。 这些元素都存储在母版页中。

  • 在以下插图中,您可以看到由母版页控制的常规页面区域和由内容页控制的区域。

  • 母版页内容占位符: 母版页和内容页使用一组可替换区域(也称内容占位符控件)协同工作。 每个内容占位符(在页面代码中显示为 ContentPlaceHolder)均表示可在母版页上覆盖的内容。 网站上的任何页面均可通过提供匹配的内容控件替换内容占位符中包含的任何内容。 该内容控件甚至可以是空的,这样可以将元素从呈现的页面上完全去除。

内容占位符的名称

说明

PlaceHolderAdditionalPageHead

必须位于页的 <head> 标记内的附加内容,例如,对样式表中的脚本的引用

PlaceHolderBodyAreaClass

页面页眉中的附加正文样式

PlaceHolderBodyLeftBorder

主页正文的边框元素

PlaceHolderBodyRightMargin

主页正文的右边距

PlaceHolderCalendarNavigator

当日历在页上可见时,显示用于在日历中导航的日期选取器

PlaceHolderFormDigest

“格式摘要”安全控件

PlaceHolderGlobalNavigation

全局导航

PlaceHolderHorizontalNav

页的顶部导航菜单

PlaceHolderLeftActions

左侧导航区域的底部

PlaceHolderLeftNavBar

左侧导航区域

PlaceHolderLeftNavBarBorder

左侧导航栏上的边框元素

PlaceHolderLeftNavBarDataSource

左侧导航菜单的数据源

PlaceHolderLeftNavBarTop

左侧导航区域的顶部

PlaceHolderMain

这是在 Web 浏览器中查看每个页面时被该页面替换的内容。

PlaceHolderMiniConsole

一个用于显示页级别命令的位置,例如,WIKI 命令(如“编辑页”、“历史记录”和“传入链接”)

PlaceHolderNavSpacer

左侧导航区域的宽度

PlaceHolderPageDescription

页内容的说明

PlaceHolderPageImage

页的左上区域中的页图标

PlaceHolderPageTitle

在浏览器的标题栏中显示的页 <Title>

PlaceHolderSearchArea

搜索框区域

PlaceHolderSiteName

网站名称

PlaceHolderTitleAreaClass

页面页眉中的附加样式

PlaceHolderTitleAreaSeparator

显示标题区域的阴影

PlaceHolderTitleBreadcrumb

主要内容面包屑区域

PlaceHolderTitleInTitleArea

在面包屑下方立即显示的页标题

PlaceHolderTitleLeftBorder

标题区域的左边框

PlaceHolderTitleRightMargin

标题区域的右边距

PlaceHolderTopNavBar

顶部导航区域

PlaceHolderUtilityContent

必须位于页的底部的额外内容

SPNavigation

默认情况下,在 Windows SharePoint Services 中为空。可用于附加页编辑控件。

WSSDesignConsole

当页处于“编辑页”模式中时,此页将编辑控件(在单击“网站操作”之后,单击“编辑页”)

表格源地址:https://msdn.microsoft.com/zh-cn/library/ms467402(v=office.12).aspx

  • 要在 SharePoint 2010 中自定义主母版页,您可以通过自定义 v4.master 页的副本来使用它作为起始点,也可以从头开始创建新的自定义母版页,并将其作为您的网站的主母版页。

  • 完成母版页的自定义后,下一步就是将它部署到 SharePoint。 一种方法是通过从 SharePoint Designer 2010 将母版页应用到各个网站来保存和重用它,或者如果您运行的是 SharePoint Server 2010,则从“网站母版页设置”页将其应用到网站集。另一种更强大、更灵活的方法是将母版页作为解决方案包部署,然后作为 SharePoint 功能激活它。 以后当您想要安装或卸载母版页时,激活或停用该功能即可。 这种方法需要使用 Microsoft Visual Studio 2010 来创建该功能必需的模块、部署 XML 甚至接收器。

  • v4.master serves as master page for 2010 UI mode. seattle.master serves as default master page in 2013 (Primary in Team Site). 出处

  • 母版页的定制方法,可以参考如下文章步骤,通过 Farm Solution 方式实现。文中用的是 SharePoint 2013 的默认母版页 seatle.master. 而利用 Farm Solution 的部署会带来 Farm Outage, 详细情况可参考 SharePoint Solution Deploy, retract, upgrade – What causes your SharePoint farm to go offline IISRESET (web server outage) ,个人理解是,由于这种方式需要修改 Farm 文件系统上的文件, 因此不可避免地需要重启 IIS 重新读取。为了避免 Farm Outage,可以利用 SharePoint Add-in Model 实现。

页面布局(Page Layout)

Overview of the SharePoint 2013 page model 很好地介绍了母版页、Page Layout、Page、Page Fields、Web Parts 之间的从属关系。

Every page layout is associated with a content type in the Pages library of a site. A content type is a schema of columns and data types. For any page layout, the page fields that are available for that layout correspond directly to the columns defined for that page layout’s content type.

Step by Step Creating News Page Layout using Content Type in SharePoint 2013Creating a Custom Page Layout in SharePoint 2013 介绍了如何在 SharePoint 2013 中创建一个新的 Page layout。

Leave a Reply

Your email address will not be published. Required fields are marked *