开始创建网站模板和网站脚本
你可以创建网站模板以提供可重用列表、主题、布局或自定义操作,以便用户可以使用所需的功能快速构建新的 SharePoint 网站。
本文介绍如何构建一个简单的网站模板,用于添加用于跟踪客户订单的 SharePoint 列表。 你将使用网站模板创建具有自定义列表的新 SharePoint 网站。 你将了解如何使用 SharePoint PowerShell cmdlet 创建网站脚本和网站模板。 也可以使用 REST API 执行相同的操作。 每一步中都显示了相应的 REST 调用,以供参考。
在 JSON 中创建网站脚本
网站脚本是在新建网站时 SharePoint 运行的一组操作。 操作描述了应用于新网站的更改,如新建列表或应用主题。 操作在 JSON 脚本中指定,它是要应用的所有操作列表。 当脚本运行时,SharePoint 按列出的顺序完成每个操作。
在 JSON 脚本中,每个操作都是由“谓词”值指定。 此外,操作还可以包含也是由“谓词”值指定的子操作。 在下面的 JSON 中,脚本指定新建列表“客户跟踪”,然后子操作设置说明,并添加多个字段来定义列表。
下载并安装 SharePoint Online 命令行管理程序。 如果已安装旧版命令行管理程序,请先卸载它,然后再安装最新版本。
按照连接到 SharePoint Online PowerShell 中的说明操作,连接到 SharePoint 租户。
创建描述新脚本的 JSON,并将其分配给变量,如下面的 PowerShell 代码所示。 可以查看和引用最新的 JSON 架构文件: https://developer.microsoft.com/json-schemas/sp/site-design-script-actions.schema.json
$site_script = ' { "$schema": "https://developer.microsoft.com/json-schemas/sp/site-design-script-actions.schema.json", "actions": [ { "verb": "createSPList", "listName": "Customer Tracking", "templateType": 100, "subactions": [ { "verb": "setDescription", "description": "List of Customers and Orders" }, { "verb": "addSPField", "fieldType": "Text", "displayName": "Customer Name", "isRequired": false, "addToDefaultView": true }, { "verb": "addSPField", "fieldType": "Number", "displayName": "Requisition Total", "addToDefaultView": true, "isRequired": true }, { "verb": "addSPField", "fieldType": "User", "displayName": "Contact", "addToDefaultView": true, "isRequired": true }, { "verb": "addSPField", "fieldType": "Note", "displayName": "Meeting Notes", "isRequired": false } ] } ] } '
上面的脚本将新建一个名为“客户跟踪”的 SharePoint 列表。 它会设置说明,并向列表添加四个字段。 请注意,其中每一步都被视为一个操作。 如果使用 Invoke-SPOSiteDesign
命令以编程方式应用,则站点脚本限制为 30 个累积操作(跨可在网站模板中调用的一个或多个脚本)。 如果通过 UI 或使用 Add-SPOSiteDesignTask
命令应用网站脚本,则该限制为 300 个累积操作(或 100K 个字符)。
添加网站脚本
必须在 SharePoint 中注册各个网站脚本,才能使用网站脚本。 使用 Add-SPOSiteScript cmdlet 添加新的网站脚本。 下面的示例展示了如何添加上述 JSON 脚本。
C:\> Add-SPOSiteScript
-Title "Create customer tracking list"
-Content $site_script
-Description "Creates list for tracking customer contact information"
运行 cmdlet 后,将生成所添加脚本的网站脚本 ID 的列表。 在某个位置跟踪此 ID,因为稍后在创建网站模板时需要此 ID。
用于添加新网站脚本的 REST API 是 CreateSiteScript。
创建网站模板
接下来,需要创建网站模板。 当有人从其中一个模板创建新网站时,网站模板将显示在下拉列表中。 它可以运行一个或多个已添加的网站脚本。
- 运行以下 cmdlet 以添加新的网站模板。 将
<ID>
替换为添加站点脚本时的站点脚本 ID。
C:\> Add-SPOSiteDesign
-Title "Contoso customer tracking"
-WebTemplate "64"
-SiteScripts "<ID>"
-Description "Tracks key customer data in a list"
上一个 cmdlet 创建名为 Contoso 客户跟踪的新网站模板。
参数 | 值 | 网站模板类型 |
---|---|---|
WebTemplate | 64 | 工作组网站模板 |
WebTemplate | 1 | 团队网站(已禁用组创建) |
WebTemplate | 68 | 通信网站模板 |
WebTemplate | 69 | 频道网站模板 |
JSON 响应显示新网站模板的 ID。 可以在后续 cmdlet 中使用它来更新或修改网站模板。
添加新网站模板的REST API CreateSiteDesign。
使用新网站模板
添加网站脚本和网站模板后,可以使用它通过自助式网站创建体验创建新网站,或者使用 PowerShell 中的 Invoke-SPOSiteDesign 命令将网站模板应用到现有站点。 如果使用的是中心网站,甚至可以将网站模板关联到中心,以便将其应用于所有联接网站。
创建新网站
- 转到要用于开发的 SharePoint 网站的主页。
- 选择“创建网站”。
- 选择需要使用的网站类型。 SharePoint 将使用 Microsoft 团队协作模板创建团队网站,或者使用 Microsoft 主题模板创建通信网站,除非将另一个自定义网站模板设置为默认模板。
- 选择“下一步”。
- 在“网站名称”中,输入新网站的名称“客户订单跟踪”。
- 选择“完成”。
- 接下来,转到Settings,然后选择应用网站模板。
- 选择刚刚创建的网站模板。
- 应用后,新模板将显示在模板查看器中标题为“组织中的模板”选项卡下。
- 应用新模板后,页面上会显示自定义列表。
应用于现有网站
还可以将已发布的网站模板应用到现有网站。 在网站主页上,网站所有者可以导航到 设置 ,然后 应用网站模板 浏览和应用组织和 Microsoft 提供的模板。
可以使用 Invoke-SPOSiteDesign cmdlet 批量将模板应用到现有网站集。
发布网站模板可以应用于:
- 组连接的团队网站
- 未连接到Microsoft 365组的团队网站
- 通信网站
- 频道网站
- 经典团队网站
- 经典发布网站
将网站模板应用于现有网站集的REST API ApplySiteDesign。
与中心网站关联
将已发布的网站模板应用于新的或现有的中心网站。 然后,所有关联的网站都将继承中心网站模板和主题。 导航到中心的主页,转到 设置 ,然后 应用网站模板。 详细了解如何为中心网站可启用网站关联。
还可以使用 Set-SPOHubSite
cmdlet。 查看 SharePoint 中心网站的PowerShell cmdlet一文。
注意
频道网站 将被自动阻止加入中心网站。