Общие сведения о шаблонах и скриптах сайтов SharePoint

Примечание

  • Шаблоны и скрипты сайтов в настоящее время поддерживаются только в SharePoint Online.
  • В предыдущих версиях SharePoint шаблоны сайтов назывались макетами сайтов, но в будущем будут называться шаблонами сайтов.
  • В SharePoint есть новый интерфейс шаблонов сайтов, который будет доступен всем пользователям SharePoint с разрешениями на создание сайтов SharePoint. Дополнительные сведения о новом интерфейсе шаблонов сайтов.
  • В настоящее время интерфейс шаблонов сайтов невозможно отключить.
  • Шаблоны сайтов, созданные вашей организацией и установленные в качестве шаблона по умолчанию, будут автоматически применяться при создании новых сайтов, но владелец сайта может их обновить. Для этого следует выбрать Параметры, а затем Применить шаблон сайта.
  • Журнал версий шаблонов сайтов в настоящее время недоступен в новом интерфейсе шаблонов сайтов, но он будет включен в будущих выпусках.

Автоматизируйте подготовку новых или существующих современных сайтов SharePoint с собственными конфигурациями, используя шаблоны и скрипты сайтов.

Когда пользователи в организации создают сайты SharePoint, часто требуется обеспечить некоторый уровень согласованности. Например, к каждому новому сайту может потребоваться применять надлежащий фирменный стиль и темы. Вы также можете использовать подробные скрипты подготовки сайтов (например, модуль подготовки PnP), которые должны применяться при создании каждого сайта.

В этой статье описывается использование шаблонов и скриптов сайтов для создания пользовательских конфигураций, применяемых при создании сайтов.

Как работают шаблоны сайтов

Шаблоны сайтов можно использовать при создании сайтов, чтобы выполнять с ними одну и ту же последовательность действий. Их также можно применять к существующим современным сайтам, например сайтам групп и информационным сайтам. Как правило, большинство действий (например, установка темы или создание списков) влияет на сам сайт. Но шаблон сайта может включать и другие действия, например записывать URL-адрес нового сайта в журнал или отправлять твиты.

Примечание

  • Шаблоны сайтов, созданные с использованием настраиваемых сценариев сайтов, будут отображаться на вкладке Из вашей организации в коллекции шаблонов сайтов.
  • Настраиваемые шаблоны сайтов, созданные вашей организацией, будут отображаться в коллекции шаблонов сайтов в зависимости от типа выбранного пользователем сайта — информационного сайта или сайта группы. Поэтому, скорее всего, пользователи не увидят все шаблоны сайтов из вашей организации в коллекции шаблонов сайтов. Скоро пользователи смогут просматривать все шаблоны сайтов, предоставляемые вашей организацией, независимо от выбранного типа сайта.

Вы можете создавать шаблоны сайтов и регистрировать их в SharePoint, используя один из современных шаблонов сайтов: сайт группы или информационный сайт. Ниже рассказывается, как сделать это.

  1. Перейдите на начальную страницу SharePoint в клиенте разработчика.

  2. Нажмите Создать сайт.

    Отобразятся два шаблона современных сайтов: Сайт группы и Информационный сайт.

  3. Выберите нужный тип сайта.

  • SharePoint автоматически создаст информационный сайт, используя шаблон Тема.
  • Если вы выбрали сайт группы по умолчанию, SharePoint создаст сайт с помощью шаблона Совместная работа группы.

Дополнительные сведения о том, как можно изменить стандартные шаблоны сайтов, см. в статье Настройка стандартного шаблона сайта.

  1. Щелкните значок Параметры и выберите Применить шаблон сайта, чтобы просмотреть шаблоны сайтов от Майкрософт с учетом типа сайта, выбранного на шаге 3.

После выбора шаблона сайта SharePoint создает сайт и выполняет скрипты для шаблона сайта. Скрипты сайта предоставляют сведения о шаблоне, например создают списки или применяют темы. Эти действия скриптов выполняются в фоновом режиме. Когда скрипты будут завершены, страница обновится, чтобы отобразить сведения о скриптах сайта.

Примечание

Теперь шаблоны сайтов можно применять к ранее созданным семействам современных сайтов. Дополнительные сведения см. в статьях REST API и PowerShell.

Структура скрипта сайта

Скрипты сайтов — это JSON-файлы, в которых указывается упорядоченный список действий, выполняемых при создании сайта. Действия выполняются в указанном порядке.

Ниже приведен пример скрипта с двумя действиями верхнего уровня. Сначала он применяет ранее созданную тему с именем Contoso Explorers. Затем он создает список Customer Tracking (Отслеживание клиентов).

{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/site-design-script-actions.schema.json",
  "actions": [
    {
      "verb": "applyTheme",
      "themeName": "Contoso Explorers"
    },
    {
      "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
        }
      ]
    }
  ],
  "version": 1
}

Каждое действие в скрипте сайта указано с помощью значения verb в JSON. В предыдущем скрипте первое действие указано с помощью команды applyTheme. Затем команда createSPList создает список. Обратите внимание, что команда createSPList содержит собственный набор команд, выполняющих дополнительные действия только для списка.

Доступны следующие действия:

  • Создание списка или библиотеки (либо изменение стандартного списка или библиотеки, созданных одновременно с сайтом)
  • Создание столбцов сайта, типов контента и настройка других параметров списка
  • Установка таких свойств фирменной символики, как структура навигации, а также формат и фон заголовков
  • Применение темы**
  • Настройка логотипа сайта
  • Добавление ссылок на панель быстрого запуска или в центральную структуру навигации**
  • Запуск потока Power Automate
  • Установка развернутого решения из каталога приложений
  • Настройка региональных параметров сайта**
  • Добавление субъектов (пользователей и групп) в роли SharePoint**
  • Настройка внешнего общего доступа к сайту**

Полный список доступных действий и их параметров см. в статье Схема JSON.

Примечание

  • Действия с пометкой "**" автоматически блокируются для сайтов каналов.
  • Для библиотек и списков используйте команду PowerShell Get-SPOSiteScriptFromList, чтобы создать синтаксис скрипта сайта из имеющегося списка SharePoint.

Скрипты сайта можно повторно запускать на том же сайте после подготовки. Скрипты сайтов являются неразрушающими, то есть при повторном запуске они гарантируют, что сайт соответствует конфигурации из скрипта.

Например, если на сайте уже есть список с таким же именем, как у создаваемого скриптом, то скрипт только добавит недостающие поля в имеющийся список.

Ранее было установлено ограничение в количестве 30 действий скриптов сайта. Это ограничение сохраняется для скриптов, применяемых синхронно с помощью команды Invoke-SPOSiteDesign, но с учетом отзывов пользователей и поддержки дополнительных действий это ограничение увеличено до 300 действий (или 100 000 символов), если скрипты применяются асинхронно (через пользовательский интерфейс или с помощью команды Add-SPOSiteDesignTask).

Также существует ограничение в количестве 100 скриптов и 100 шаблонов сайтов для каждого клиента.

Работа с шаблонами и скриптами сайтов с помощью PowerShell или REST

Вы можете создавать шаблоны и скрипты сайтов с помощью PowerShell или REST API. Ниже показано, как создать скрипт сайта и шаблон, использующий этот скрипт.

C:\> Get-Content 'c:\scripts\site-script.json' `
     -Raw | `
     Add-SPOSiteScript `
    -Title "Contoso theme and list"

Id          : 2756067f-d818-4933-a514-2a2b2c50fb06
Title       : Contoso theme and list
Description :
Content     :
Version     : 0

C:\> Add-SPOSiteDesign `
  -Title "Contoso customer tracking" `
  -WebTemplate "64" `
  -SiteScripts "2756067f-d818-4933-a514-2a2b2c50fb06" `
  -Description "Creates customer list and applies standard theme"

В предыдущем примере командлет Add-SPOSiteScript или REST API CreateSiteScript возвращает идентификатор скрипта сайта. Он используется для параметра SiteScripts в последующем вызове командлета Add-SPO-SiteDesign или REST API CreateSiteDesign.

Параметр Значение Тип шаблона сайта
Веб-шаблон 64 Шаблон сайта группы
WebTemplate 1 1 Сайт группы (создание группы отключено)
Веб-шаблон 68 Шаблон информационного сайта
Веб-шаблон 69 Шаблон сайта канала

Пошаговые инструкции по созданию шаблона сайта см. в статье Приступая к созданию шаблонов сайтов.

Примечание

  • Шаблон сайта может выполнять несколько скриптов. Идентификаторы скриптов передаются в массиве. Скрипты выполняются в указанном порядке.
  • Прежний термин для обозначения шаблонов сайтов может по-прежнему отображаться в определенных метках командлетов и скриптов как "макет сайта".

Подготовка PnP и настройка с помощью Power Automate

Одно из действий, которые можно выполнить в скриптах сайтов, — запуск потока Power Automate. Благодаря этому вы можете указать любое дополнительное действие помимо действий, доступных по умолчанию.

Если для автоматизации создания сайта используется модуль подготовки PnP, вы можете использовать поток Power Automate для интеграции с шаблонами сайтов. С помощью этой методики вы можете сохранять все имеющиеся скрипты подготовки, а также создавать их.


Процесс запуска потока Microsoft Flow

Этот процесс описан ниже.

  1. Скрипт создает экземпляр потока Power Automate, используя URL-адрес и дополнительные сведения.

  2. Поток отправляет сообщение в настроенную вами очередь службы хранилища Azure.

  3. Сообщение вызывает настроенную вами функцию Azure.

  4. Функция Azure выполняет пользовательский скрипт (например, модуль подготовки PnP), чтобы подготовить пользовательские конфигурации.

Пошаговое руководстве по настройке потока Power Automate с помощью модуля подготовки PnP см. в статье Создание полноценного шаблона сайта с помощью модуля подготовки PnP.

Определение области

Вы можете настраивать шаблоны сайтов, чтобы они отображались только для определенных групп пользователей в организации. Другие пользователи не будут видеть эти шаблоны. Например, можно сделать так, чтобы шаблоны для бухгалтерии видели только бухгалтеры и больше никто.

По умолчанию после создания шаблона сайта его могут просматривать все пользователи. Для применения областей используется командлет Grant-SPOSiteDesignRights или REST API GrantSiteDesignRights. Вы можете указать область для пользователя или для группы безопасности, поддерживающей почту.

Ниже показано, как предоставить пользователю Nestor (пользователь на вымышленном сайте Contoso) права на просмотр шаблона сайта.

Grant-SPOSiteDesignRights `
  -Identity 44252d09-62c4-4913-9eb0-a2a8b8d7f863 `
  -Principals "nestorw@onmicrosoft.com" `
  -Rights View

Дополнительные сведения о работе с областями см. в статье Определение областей доступа к шаблонам сайтов.

См. также