开始创建网站模板和网站脚本

你可以创建网站模板以提供可重用列表、主题、布局或自定义操作,以便用户可以使用所需的功能快速构建新的 SharePoint 网站。

本文介绍如何构建一个简单的网站模板,用于添加用于跟踪客户订单的 SharePoint 列表。 你将使用网站模板创建具有自定义列表的新 SharePoint 网站。 你将了解如何使用 SharePoint PowerShell cmdlet 创建网站脚本和网站模板。 也可以使用 REST API 执行相同的操作。 每一步中都显示了相应的 REST 调用,以供参考。

在 JSON 中创建网站脚本

网站脚本是在新建网站时 SharePoint 运行的一组操作。 操作描述了应用于新网站的更改,如新建列表或应用主题。 操作在 JSON 脚本中指定,它是要应用的所有操作列表。 当脚本运行时,SharePoint 按列出的顺序完成每个操作。

在 JSON 脚本中,每个操作都是由“谓词”值指定。 此外,操作还可以包含也是由“谓词”值指定的子操作。 在下面的 JSON 中,脚本指定新建列表“客户跟踪”,然后子操作设置说明,并添加多个字段来定义列表。

  1. 下载并安装 SharePoint Online 命令行管理程序。 如果已安装旧版命令行管理程序,请先卸载它,然后再安装最新版本。

  2. 按照连接到 SharePoint Online PowerShell 中的说明操作,连接到 SharePoint 租户。

  3. 创建描述新脚本的 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 命令将网站模板应用到现有站点。 如果使用的是中心网站,甚至可以将网站模板关联到中心,以便将其应用于所有联接网站。

创建新网站

  1. 转到要用于开发的 SharePoint 网站的主页。
  2. 选择“创建网站”
  3. 选择需要使用的网站类型。 SharePoint 将使用 Microsoft 团队协作模板创建团队网站,或者使用 Microsoft 主题模板创建通信网站,除非将另一个自定义网站模板设置为默认模板。
  4. 选择“下一步”。
  5. 在“网站名称”中,输入新网站的名称“客户订单跟踪”。
  6. 选择“完成”。
  7. 接下来,转到Settings,然后选择应用网站模板
  8. 选择刚刚创建的网站模板。
  9. 应用后,新模板将显示在模板查看器中标题为“组织中的模板”选项卡下。
  10. 应用新模板后,页面上会显示自定义列表。

应用于现有网站

还可以将已发布的网站模板应用到现有网站。 在网站主页上,网站所有者可以导航到 设置 ,然后 应用网站模板 浏览和应用组织和 Microsoft 提供的模板。

可以使用 Invoke-SPOSiteDesign cmdlet 批量将模板应用到现有网站集。

发布网站模板可以应用于:

  1. 组连接的团队网站
  2. 未连接到Microsoft 365组的团队网站
  3. 通信网站
  4. 频道网站
  5. 经典团队网站
  6. 经典发布网站

将网站模板应用于现有网站集的REST API ApplySiteDesign

与中心网站关联

将已发布的网站模板应用于新的或现有的中心网站。 然后,所有关联的网站都将继承中心网站模板和主题。 导航到中心的主页,转到 设置 ,然后 应用网站模板。 详细了解如何为中心网站可启用网站关联

还可以使用 Set-SPOHubSitecmdlet。 查看 SharePoint 中心网站的PowerShell cmdlet一文。

注意

频道网站 将被自动阻止加入中心网站。

另请参阅