Ashok Kumar Sah Ответов: 0

Как добавить веб-часть календаря с представлением календаря в sharepoint online CSOM на страницу публикации


Я хочу добавить веб-часть календаря на страницу публикации/пустой веб-части на сайте SharePoint Online.

Я попытался добавить его через csom, но не смог установить представление календаря в качестве представления веб-части.

Я попытался манипулировать XML-определением веб-части, но потерпел неудачу.

Что я уже пробовал:

Я попытался добавить его через csom, но не смог установить представление календаря в качестве представления веб-части.

Я попытался манипулировать XML-определением веб-части, но потерпел неудачу.


#Пожалуйста, найдите код ниже--
функция AddCalenderWebPartToPage ($URL) {


$pageRelativeUrl = "/Pages / Test. aspx"
$wpZoneID = " TopRightRow"
$wpZoneOrder= 1

$WebPartXml = [xml]'

< webparts>
< webpart xmlns="http://schemas.microsoft.com/WebPart/v3" >
& lt;метаданные>
< type name= " Microsoft.служба SharePoint.Веб-страницы.XsltListViewWebPart, Microsoft.SharePoint, версия=16.0.0.0, культура=нейтральная, PublicKeyToken=71e9bce111e9429c " >
<importerrormessage> Не может импортировать эту веб-часть.
< / метаданные>

< свойства>
&ЛТ;свойство имя="ShowWithSampleData" тип="логикой"и GT;ложно
&ЛТ;свойство имя="по умолчанию" тип="строка"&ГТ;ложные
< имя свойства= "NoDefaultStyle" тип= "string" & gt;TRUE
&ЛТ;свойство имя="CacheXslStorage" тип="логикой"и GT;правда
< property name= "ViewContentTypeId" type= "string"> 0x
< имя свойства= "XmlDefinitionLink" тип= "string">
<имя свойства="ManualRefresh" тип="логикой"и GT;ложно
< property name=" ListUrl "type= "string" & gt;списки / календарь
<имя свойства="listId значение" тип="системы.Идентификатор GUID, mscorlib, версия=4.0.0.0, культуры=нейтральный, значения PublicKeyToken=b77a5c561934e089"&ГТ;00000000-0000-0000-0000-000000000000
< property name= "TitleUrl" type= "string">
<имя свойства="EnableOriginalValue" тип="логикой"и GT;ложно
< property name= "Direction" type= "direction" & gt;NotSet
&ЛТ;свойство имя="ServerRender" тип="логикой"и GT;ложно
< property name= "ViewFlags" type= " Microsoft.служба SharePoint.SPViewFlags, Microsoft.SharePoint, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c " > None
<имя свойства="AllowConnect" тип="логикой"и GT;правда
&ЛТ;свойство имя="рассылка" тип="строка" null="правда"и GT;
&ЛТ;свойство имя="ListDisplayName" тип="строка" null="правда"и GT;
&ЛТ;свойство имя="AllowZoneChange" тип="логикой"и GT;правда
&ЛТ;свойство имя="ChromeState" тип="chromestate"и GT;нормальный
&ЛТ;свойство имя="DisableSaveAsNewViewButton" тип="логикой"и GT;ложно
< имя свойства= "ViewFlag" тип= "string">
< имя свойства= "DataSourceID" тип= "string">
< property name= "ExportMode" type= "exportmode" & gt;All
<имя свойства="Автообновление" тип="логикой"и GT;ложно
&ЛТ;свойство имя="FireInitialRow" тип="логикой"и GT;правда
&ЛТ;свойство имя="свойству allowedit задано" тип="логикой"и GT;правда
< имя свойства= "Описание" Тип= "строка">
< property name= "HelpMode" type= "helpmode"> Modeless
&ЛТ;свойство имя="BaseXsltHashKey" тип="строка" null="правда"и GT;
<имя свойства="AllowMinimize" тип="логикой"и GT;правда
< имя свойства=" CacheXslTimeOut "тип= "int"> 86400
< property name= "ChromeType" type="chrometype" >Default
&ЛТ;свойство имя="xsl-код" тип="строка" null="правда"и GT;
&ЛТ;свойство имя="применением jslink" тип="строка" null="правда"и GT;
< имя свойства= "CatalogIconImageUrl" тип= "string">
&ЛТ;свойство имя="образец данные" тип="строка" null="правда"и GT;
<имя свойства="UseSQLDataSourcePaging" тип="логикой"и GT;правда
<property name= "TitleIconImageUrl" type= "string">
&ЛТ;свойство имя="размер страницы" тип="Инт"и GT;-1
<имя свойства="ShowTimelineIfAvailable" тип="логикой"и GT;правда
< имя свойства= "ширина" тип= "строка">
< имя свойства= "поля данных" тип= "строка">
<имя свойства="скрытый" тип="логикой"и GT;ложно
< property name= "Title" type= "string">
< property name= "PageType" type= " Microsoft.служба SharePoint.Зависимости от типа страницы, Майкрософт.SharePoint, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c " > PAGE_NORMALVIEW
< имя свойства= "DataSourcesString" тип= "string">
<имя свойства="AllowClose" тип="логикой"и GT;правда
<имя свойства="InplaceSearchEnabled" тип="логикой"и GT;правда
<имя свойства="сайта" тип="системы.Идентификатор GUID, mscorlib, версия=4.0.0.0, культуры=нейтральный, значения PublicKeyToken=b77a5c561934e089"&ГТ;00000000-0000-0000-0000-000000000000
< имя свойства= "Высота" тип= "строка">
&ЛТ;свойство имя="GhostedXslLink" тип="строка"&ГТ;главная.на xsl
&ЛТ;свойство имя="DisableViewSelectorMenu" тип="логикой"и GT;ложно
< property name= "DisplayName" type= "string" & gt;Calendar
&ЛТ;свойство имя="IsClientRender" тип="логикой"и GT;ложно
< имя свойства= "XmlDefinition" тип= "string">

<имя свойства="InitialAsyncDataFetch" тип="логикой"и GT;ложно
<имя свойства="AllowHide" тип="логикой"и GT;правда
< имя свойства= "ParameterBindings" тип= "string">
&ЛТ;раздел parameterbinding наименование="dvt_sortdir" расположение="обратной передаче;связь"/&ГТ;
&ЛТ;раздел parameterbinding наименование="dvt_sortfield" расположение="обратной передаче;связь"/&ГТ;
&ЛТ;раздел parameterbinding наименование="dvt_startposition" расположение="обратной передачи" свойство DefaultValue=""/&ГТ;
&ЛТ;раздел parameterbinding наименование="dvt_firstrow" расположение="обратной передаче;связь"/&ГТ;
<имя раздел parameterbinding="OpenMenuKeyAccessible" расположение="ресурсов(Вик,OpenMenuKeyAccessible)" /&ГТ;
&ЛТ;раздел parameterbinding наименование="open_menu" расположение="ресурсов(Вик,open_menu)" /&ГТ;
&ЛТ;раздел parameterbinding наименование="select_deselect_all" расположение="ресурсов(Вик,select_deselect_all)" /&ГТ;
<имя раздел parameterbinding="idPresEnabled" расположение="ресурсов(Вик,idPresEnabled)" /&ГТ;
&ЛТ;раздел parameterbinding наименование="NoAnnouncements" расположение="ресурсов(Вик,noXinviewofY_LIST)" /&ГТ;
&ЛТ;раздел parameterbinding наименование="NoAnnouncementsHowTo" расположение="ресурсов(основных,noXinviewofY_DEFAULT)" /&ГТ;
<ParameterBinding Name= "AddNewAnnouncement" Location= "Resource(wss, addnewitem)" />
&ЛТ;раздел parameterbinding наименование="MoreAnnouncements" расположение="ресурсов(Вик,moreItemsParen)" /&ГТ;

< property name= "DataSourceMode" type= " Microsoft.служба SharePoint.Веб-элементы управления.SPDataSourceMode, Microsoft.SharePoint, версия=16.0.0.0, культура=нейтральная, PublicKeyToken=71e9bce111e9429c " & gt;Список
< property name= "AutoRefreshInterval" type= "int"> 60
<имя свойства="AsyncRefresh" тип="логикой"и GT;ложно
< имя свойства= "HelpUrl" тип= "string">
< property name= "MissingAssembly" type= "string" & gt;Не удается импортировать эту веб-часть.
< property name=" XslLink "type=" string "null= "true">
< имя свойства= "SelectParameters" тип= "string">
&ЛТ;свойство имя="HasClientDataSource" тип="логикой"и GT;ложно



'

пробовать{

Write-Host "запуск процесса добавления веб-части календаря на домашнюю страницу" -ForegroundColor Yellow

#Добавление ссылки на клиентские библиотеки. Здесь я выполняю это для сервера SharePoint (и ссылаюсь на него из каталога SharePoint ISAPI,
#но мы могли бы выполнить его из любого места, где мы хотим, только нужно скопировать библиотеки DLL и ссылаться на путь отсюда
Добавить-типа -путь "файлов c:\Program \Common папку общий\расширения веб-сервера\15\хранения\Майкрософт.служба SharePoint.Client.dll"
Добавить-типа -путь "файлов c:\Program \Common папку общий\расширения веб-сервера\15\хранения\Майкрософт.служба SharePoint.Клиент.Runtime.dll"

Write-Host "получение страницы с веб-частью, которую мы собираемся изменить" -ForegroundColor Green
$веб = $СТХ.Веб
$СТХ.Нагрузки($веб)
$СТХ.Метод executequery()
#Используя параметры, создайте url-адрес страницы
$RelURl=$web. ServerRelativeUrl
$pageUrl = $RelURl + $pageRelativeUrl
Write-Host "получение страницы с веб-частью, которую мы собираемся изменить:" $pageUrl -ForegroundColor Green

#Получение страницы с помощью GetFileByServerRelativeURL и выполнение проверки
#После этого нам нужно вызвать executeQuery для выполнения действий на сайте
переменные $Page = $СТХ.Веб.GetFileByServerRelativeUrl($pageUrl);
$страница.проверка()
$СТХ.Метод executequery()
пробовать{

#Получить менеджер webpart со страницы, чтобы обрабатывать веб-части
Писать-хост "страница заказа" -задается зеленый
$webpartmanager и = $страница.GetLimitedWebPartManager ([Microsoft.служба SharePoint.Клиент.элемент webPart.PersonalizationScope]:: Общий Доступ);

Write-Host $WebPartXml.OuterXml

#Загрузите и выполните запрос, чтобы получить данные в веб-частях
Write-Host "получение веб-частей со страницы" -ForegroundColor Green
$СТХ.Нагрузки($webpartmanager и);
$СТХ.Метод executequery();

#Импорт веб-части
$WР = $webpartmanager и.ImportWebPart ($WebPartXml.OuterXml)


#Добавить веб-часть на страницу
Писать-хозяин "добавить WebPart на странице" -задается зеленый
$webPartToAdd = $webpartManager.AddWebPart($wp. WebPart, $wpZoneID, $wpZoneOrder)

$ctx. Load($webPartToAdd);
$СТХ.Метод executequery()
}
ловить{
Write-Host "найдены ошибки:`n$_" - ForegroundColor Red

}
наконец{
#Регистрация и публикация страницы
Писать-хозяин "регистрация и публикация страницы" -задается зеленый
$страница.Регистрация("добавить WebPart в профиль пользователя", [Майкрософт.служба SharePoint.Клиент.CheckinType]:: MajorCheckIn)
$страница.Опубликовать ("добавить веб-часть профиля пользователя")
$СТХ.Метод executequery()

Писать-хозяин "календарь WebPart, который был добавлен" -задается желтый

}

}
ловить{
Write-Host "найдены ошибки:`n$_" - ForegroundColor Red
}

}

0 Ответов