Поделиться через


Начало работы по созданию шаблонов и скриптов сайтов

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

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

Создание скрипта сайта в JSON

Сценарий сайта — это набор действий, которые SharePoint выполняет при создании сайта. В этих действиях описаны изменения, которые необходимо применить к новому сайту, например создать список или применить тему. Действия указываются в скрипте JSON, который представляет собой список всех действий, которые необходимо выполнить. При запуске скрипта SharePoint выполняет все действия в указанном порядке.

Каждое действие обозначено значением verb в скрипте JSON. Кроме того, в действия могут быть вложены другие действия, также обозначенные значениями verb. В приведенном ниже коде JSON скрипт создает список Customer Tracking (Отслеживание клиентов), а затем вложенные действия задают описание и добавляют несколько полей, чтобы определить список.

  1. Скачайте и установите командную консоль SharePoint Online. Если у вас уже установлена консоль предыдущей версии, сначала удалите ее, а затем установите последнюю версию.

  2. Подключитесь к клиенту SharePoint, следуя инструкциям в статье Подключение к PowerShell в SharePoint Online.

  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 Customer Tracking (Отслеживание клиента). Он задает описание и добавляет четыре поля в список. Обратите внимание, что все это считается одним действием. Сценарии сайта ограничены 30 кумулятивными действиями (для одного или нескольких сценариев, которые могут быть вызваны в шаблоне сайта), если они применяются программным способом с помощью команды Invoke-SPOSiteDesign. Если они применяются через пользовательский интерфейс или с помощью команды Add-SPOSiteDesignTask, ограничение составляет 300 кумулятивных действий (или 100 тыс. символов).

Добавление скрипта сайта

Чтобы использовать скрипт сайта, его необходимо зарегистрировать в SharePoint. Добавьте новый скрипт сайта с помощью командлета Add-SPOSiteScript. Ниже показано, как добавить описанный выше скрипт JSON.

C:\> Add-SPOSiteScript
 -Title "Create customer tracking list"
 -Content $site_script
 -Description "Creates list for tracking customer contact information"

Результат выполнения командлета будет включать свойство ID добавленного скрипта. Запишите этот идентификатор, так как он потребуется позже при создании шаблона сайта.

Для добавления скрипта сайта используется REST API CreateSiteScript.

Создание шаблона сайта

Теперь необходимо создать шаблон сайта. Шаблон сайта отображается в раскрывающемся списке, когда кто-то создает сайт на основе одного из шаблонов. Он может запускать один или несколько уже добавленных скриптов.

  • Чтобы добавить шаблон сайта, выполните командлет ниже. Замените <ID> на идентификатор добавленного вами скрипта сайта.
C:\> Add-SPOSiteDesign
 -Title "Contoso customer tracking"
 -WebTemplate "64"
 -SiteScripts "<ID>"
 -Description "Tracks key customer data in a list"

Указанный выше командлет создает шаблон сайта Contoso customer tracking (Отслеживание клиентов компании Contoso).

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

Ответ JSON содержит свойство ID нового шаблона сайта. Вы можете использовать его в последующих командлетах для обновления или изменения шаблона сайта.

Для добавления шаблона сайта используется REST API CreateSiteDesign.

Использование нового шаблона сайта

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

Создание нового сайта

  1. Перейдите на домашнюю страницу сайта SharePoint, который вы используете для разработки.
  2. Выберите Создать сайт.
  3. Выберите тип сайта, который необходимо использовать. SharePoint создаст сайт группы с помощью шаблона для совместной работы группы или информационный сайт с помощью шаблона Майкрософт Тема, если другой настраиваемый шаблон сайта не задан по умолчанию.
  4. Нажмите кнопку Далее.
  5. В поле Имя сайта введите имя нового сайта Отслеживание заказов клиентов.
  6. Нажмите кнопку Готово.
  7. Затем перейдите в Параметры и выберите Применить шаблон сайта.
  8. Выберите только что созданный шаблон сайта.
  9. После применения он будет отображаться на вкладке в средстве просмотра шаблонов От организации.
  10. После применения нового шаблона на странице отобразится настраиваемый список.

Применение к существующему сайту

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

Шаблоны можно применять к существующим коллекциям веб-сайтов массово с помощью командлета Invoke-SPOSiteDesign.

Опубликованные шаблоны сайтов можно применить к:

  1. Сайтам групп, подключенным к группам
  2. Сайтам групп, не подключенным к группе Microsoft 365
  3. Информационным сайтам
  4. Сайтам каналов
  5. Классическим сайтам группы
  6. Классическим сайтам публикации

REST API для применения шаблона сайта к существующему семейству веб-сайтов — ApplySiteDesign.

Связь с центральным сайтом

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

Можно также использовать командлет Set-SPOHubSite. Просмотрите статью о Командлетах PowerShell для центрального сайта SharePoint.

Примечание.

Сайтам каналов автоматически запрещается присоединяться к центральному сайту.

Дополнительные материалы