Домашняя страница сайта SharePoint

10 июня 2016 г.

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

SharePoint Welcom Page Settings

Домашняя страница

При открытии сайта SharePoint по URL вида http://{portal}/{siteName} браузер получает ответ со статусом HTTP 302 (ресурс временно перемещен) и указанием URL-адреса, на который необходимо перейти. На этом основан механизм настройки домашней страницы сайта в SharePoint.

Механизм хранения

При определении домашней страницы SharePoint считывает свойство vti_welcomepage корневой папки сайта. Используя следующий PowerShell, можно посмотреть значение для сайта:


(Get-SPWeb http://spweburl).RootFolder.WelcomePage

Если значение этого свойства не задано, то страницей по умолчанию считается default.aspx.

Изменение домашней страницы

Изменить домашнюю страницу сайта можно несколькими способами.

Способ 1: Параметры сайта

Домашнюю страницу можно изменить в разделе Страница приветствия параметров сайта:

Параметры сайта. Страница приветствия Параметры сайта. Страница приветствия

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

Способ 2: SharePoint Designer

Чтобы задать страницу приветствия с помощью SharePoint Designer достаточно в контекстном меню файла выбрать Set as a Home Page:

SharePoint Designer. Страница приветствия

Способ 3: PowerShell

Того же результата можно достичь, используя PowerShell:


$web = Get-SPWeb -Identity http://spweburl
$folder = $web.RootFolder
$folder.WelcomePage = "default.aspx"
$folder.Update()

Допустимые значения

Изменение домашней страницы с помощью параметров сайта и SharePoint Designer ограничено из-за использование интерфейса. С помощью PowerShell можно достичь большей гибкости.

Ограничения, накладываемые SharePoint при задании домашней страницы:

  • Путь должен быть относительным по отношению к корневой папке сайта;
  • Путь не должен содержать двух точек.

В противном случае будет выдано соответствующее исключение:

На этом ограничения заканчиваются.

Любой файл на сайте

Начальной страницей может быть не только страница, но и любой файл на сайте. Указав в качестве домашней страницы ссылку на изображение в библиотеке, мы получим редирект с сайта на указанный файл:

Дочерний сайт

Можно указать в качестве домашней страницы ссылку на дочерний сайт.

Если, например, есть сайт http://portal и дочерний сайт http://portal/subsite, то для родительского сайта можно указать дочерний сайт в качестве домашней страницы (адрес должен быть относительным, т.е. без / вначале):


$web = Get-SPWeb -Identity http://portal
$folder = $web.RootFolder
$folder.WelcomePage = "subsite"
$folder.Update()

Список

Аналогично можно указать ссылку на представление списка или библиотеки документов. При открытии сайта пользователь будет автоматически перенаправлен на список:


$web = Get-SPWeb -Identity http://portal
$folder = $web.RootFolder
$folder.WelcomePage = "Lists/MyList/AllItems.aspx"
$folder.Update()

QueryString, Hash

Также в адресе домашней страницы можно использовать QueryString и/или Hash. В следующем примере домашней страницей будет форма просмотра элемента списка с идентификатором, равным 1. Дополнительно в адрес передается hash:


$web = Get-SPWeb -Identity http://portal
$folder = $web.RootFolder
$folder.WelcomePage = "Lists/MyList/DispForm.aspx?ID=1#hash"
$folder.Update()

И результат в Developer Tools:

Примеры работают в SharePoint 2010/2013/2016 и SharePoint Online.

Поделиться

Комментарии