SharePoint 2013 - Кастомизируем содержимое Suite Bar

imageПосле развёртывания сайта на SharePoint 2013 в верхней части страницы в навигационной панели Suite Bar в левом углу отображается надпись "SharePoint"

image

С помощью командлетов PowerShell для SharePoint 2013 можно задать значение свойства SuiteBarBrandingElementHtml  для конкретного веб-приложения.

Вот пример скрипта для установки значения этого свойства в значение по умолчанию:

$URL = "http://portal.holding.com/"
$SuiteBarText = '<div class="ms-core-brandingText">SharePoint</div>'
$snapin = Get-PSSnapin | Where-Object {$_.Name -eq 'Microsoft.SharePoint.Powershell'}
if ($snapin -eq $null) {
  Write-Host "Загрузка оснастки SharePoint Powershell"
  Add-PSSnapin "Microsoft.SharePoint.Powershell"
}
$WebApp = Get-SPWebApplication | where { $_.Url -eq $URL} 
$WebApp.SuiteBarBrandingElementHtml  = $SuiteBarText 
$WebApp.Update()

Для того чтобы установить кастомизированный HTML код в значение этого свойства сразу для всех веб-сайтов верхнего уровня можно использовать следующую конструкцию:

$SuiteBarText = '<div id="suiteLinksBox"><ul class="ms-core-suiteLinkList"><li class="ms-core-suiteLink"><a class="ms-core-suiteLink-a" href="http://siteA.holding.com"><span>Сайт A</span></a></li><li class="ms-core-suiteLink"><a class="ms-core-suiteLink-a" href="http://siteB.holding.com"><span>Сайт B</span></a></li></ul></div>' 
$snapin = Get-PSSnapin | Where-Object {$_.Name -eq 'Microsoft.SharePoint.Powershell'}
if ($snapin -eq $null) {
  Write-Host "Загрузка оснастки SharePoint Powershell"
  Add-PSSnapin "Microsoft.SharePoint.Powershell"
}
$WebApps = Get-SPWebApplication
Foreach ($WebApp in $WebApps) {  
$WebApp.SuiteBarBrandingElementHtml = $SuiteBarText
$WebApp.Update()
}

После этого левая часть бара примет примерно следующий вид:

image

С правой стороны бара по умолчанию присутствуют три ссылки, которые при желании можно отключить для отображения:

image

Для этого с помощью SharePoint Designer 2013 нужно найти и закомментировать в коде мастер-страницы, используемой для сайта следующий фрагмент кода:

<SharePoint:DelegateControl id="ID_SuiteLinksDelegate" ControlId="SuiteLinksDelegate" runat="server" />

 

image

Если есть желание изменить цветовую гамму бара, можно отредактировать файл цветовой палитры *.spcolor, который по умолчанию можно найти в папке
C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\TEMPLATE\GLOBAL\Lists\themes. В моём случае при использовании темы оформления “Office” с цветовой палитрой по умолчанию…

image

отредактировать пришлось файл Palette001.spcolor. Для изменения цвета фона бара с шизофренично-голубого на тёмно-синий (как на скриншоте) было изменено значение свойства SuiteBarBackground.

Источники информации:

Learning SharePoint - SharePoint 2013 – Hide NewsFeed, SkyDrive, Sites (DeltaSuiteLinks)MSDN Library - SPWebApplication.SuiteBarBrandingElementHtml property
E. Struyf. - Creating a New Color Palette for a SharePoint 2013 Composed Look

Только один комментарий Комментировать

  1. Обратная ссылка: SharePoint 2013 — Многоуровневое меню в Suite Bar | Блог IT-KB /

Добавить комментарий