Базовые возможности кастомизации Suite Bar в SharePoint Server 2016. Настраиваем пользовательские плитки (Custom Tiles) и заголовок сайта (SuiteNavBrandingText)

Suite Bar Branding in SharePoint 2016Ранее мы писали про кастомизацию Suite Bar в SharePoint 2013. В отличии от рассмотренного ранее примера, в SharePoint Server 2016 принципы штатного управления областью содержимого Suite Bar претерпели существенные изменения. В этой заметке мы рассмотрим такие возможности кастомизации, как "Пользовательские плитки" (Custom Tiles) и смена заголовка сайта через свойство SuiteNavBrandingText.

Управление пользовательскими плитками

Элемент навигации "Пользовательские плитки" (Custom Tiles) в конфигурации по умолчанию может не отображаться на вновь созданном сайте.

SharePoint Server 2016 Default Suite Bar

Чтобы включить эту функцию надо активировать соответствующую возможность для веб-приложений в консоли SharePoint 2016 Management Shell следующим образом:

Enable-SPFeature -Identity CustomTiles -Url "http://kom-test.holding.com" -Force

SharePoint 2016 Enable Custom Tiles

После выполнения этой команды на сайте появится скрытый список с именем Custom Tiles. Этот список нельзя будет найти где-либо в административных пунктах навигации SharePoint Server, но можно открыть по прямой ссылке вида:

http://{URL сайта}/Lists/Custom%20Tiles/AllItems.aspx

Edit Custom Tiles List in SharePoint Server 2016

Создадим в этом списке элементы, каждый из которых будет описывать отдельную плитку.

Edit Custom Tiles Item in SharePoint 2016

Изображение размером 50x50 пикселей можно разместить где-нибудь на веб-узле, например, в служебной библиотеке "Активы сайта" (http://{URL сайта}/SiteAssets)

Edit Site Assest List in SharePoint

Из-за кэширования новый элемент навигации может появится на сайте в течение 24 часов после добавления в список пользовательских плиток. Чтобы он появился сразу, запустите на клиентском веб-браузере функцию ClearSuiteLinksCache() в консоли разработчика.

В браузере Internet Explorer средства разработчика можно вызвать через клавишу F12. Здесь переходим на вкладку Консоль и в расположенном в низу экрана поле вводим название функции и жмём Enter:

Internet Explorer F12 Console

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

SharePoint Server 2016 Custom Tiles

Если необходимо использовать одинаковый список пользовательских плиток сразу в нескольких веб-приложениях, включите выше обозначенным способом соответствующую возможность для всех веб-приложений и обновите свойство CustomTilesListHostUrl,
чтобы оно указывало на исходное веб-приложение, содержащее нужный список пользовательских плиток:

$w = Get-SPWebApplication -Identity http://kom-web2.holding.com
$w.Properties.CustomTilesListHostUrl = "http://kom-web1.holding.com"
$w.Update()

После выполнения кода результат на сайтах может появиться не сразу, а в течение нескольких минут.

При развёрнутом веб-приложении "Мои сайты" в перечень плиток может автоматически расшириться дополнительными плитками, ведущими в разные области веб-приложения "Мои сайты".

SharePoint My Sites Tiles

Если по какой-то причине нам не хочется, чтобы эти плитки отображались, то можно попытаться их скрыть с помощью дополнительной программной кастомизации путём переопределения CSS стилей. Этим же способом можно поменять, например, цвет пользовательских плиток или шрифт подписей. Но это уже выходит за рамки рассматриваемых в этой статье штатных механизмов кастомизации и, возможно, будет рассмотрено позже в отдельной заметке.

Кастомизация названия в Suite Bar

В SharePoint Server 2016, к сожалению, больше нет возможности использовать HTML разметку в содержимом названия, как это было возможно в предыдущей версии SharePoint, поэтому и дополнительные приёмы кастомизации больше использовать не получится. Из механизмов, не требующих вмешательства в код, у нас остаётся только возможность изменения самого текста в заголовке сайта.

Чтобы заменить используемое по умолчанию слово "SharePoint" на что-то своё, выполним в консоли SharePoint 2016 Management Shell следующий PS-код:

$app = Get-SPWebApplication -Identity http://kom-test.holding.com
$app.SuiteNavBrandingText = 'Портал ООО "Рога и Копыта"'
$app.Update()

Setup SuiteNavBrandingText in PowerShell

Обновим страницу сайта и проверим результат.

Customization of the Company name in the SharePoint 2016 Suite Bar


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