Как создавать веб-вид, связанный с веб-сайтом в список «Страницы»?
-
10-12-2019 - |
Вопрос
У меня есть коллекция сайтов SharePoint 'http://microsoft.com/' с несколькими дочерними сетью ex: http://microsoft.com/news/
Я хочу создать поле поиска в список «страницы».На каждой дочерней веб-поле веб-поиска следует указывать на текущий список веб-страниц.
В настоящее время все мои созданные поля связаны с «страницами» Lib на корневом сайте.
У меня есть определение поля:
<Field Name="LookupToPages"
ID="{3B5B07A0-68DB-4BF6-AAAE-87B77CE430C6}"
Type="LookupMulti"
DisplayName="Related News"
Group="Intranet.ContentTypes"
Mult="TRUE"
Overwrite="TRUE"
SourceID="http://schemas.microsoft.com/sharepoint/v3"
List="Pages"
ShowField="Title"/>
.
Это поле, добавленное в мой тип содержимого, который используется на страницах lib:
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<ContentType ID="0000"
Name="News"
Group="my froup"
Description="Page layout for intranet news."
Inherits="TRUE"
Version="0">
<FieldRefs>
<FieldRef ID="{3B5B07A0-68DB-4BF6-AAAE-87B77CE430C6}" Name="LookupToPages" />
</FieldRefs>
</ContentType>
</Elements>
.
Я попытался добавить определение поля в функцию с помощью «сайта» и «веб». У них обоих есть такие же результаты.У меня просто есть столбца поиска, который указывает на корневой сайт.
Как сделать это поле для этой поля связана?
Решение
Евгений,
Если это поиск в списке он Self (то есть, вы хотите выбрать элементы, образующиеся один и тот же список, например, связанные новостные статьи), вы можете установить свойство списка на «Self».
<Field Name="LookupToPages"
ID="{3B5B07A0-68DB-4BF6-AAAE-87B77CE430C6}"
Type="LookupMulti"
DisplayName="Related News"
Group="Intranet.ContentTypes"
Mult="TRUE"
Overwrite="TRUE"
SourceID="http://schemas.microsoft.com/sharepoint/v3"
List="Self"
ShowField="Title"/>
См. Здесь для получения дополнительной информации:
Другие советы
Евгений,
Я рекомендую вам использовать приемник событий, если вы предоставляете список или тип контента через функцию.
Короче говоря, то, что вам нужно сделать, это создать столбец поиска в списке, получите полевую ссылку в новый столбец, а затем добавьте ссылку поля на тип содержимого, подключенного к списку.
что-то вроде этого должен сделать трюк, при условии, что у вас уже есть объекты MyList, MyListct и Pagelist:
string fieldName = myList.Fields.AddLookup("Page Column Display Name", pageList.ID, true);
SPField field = myList.Fields.GetFieldByInternalName(fieldName);
SPFieldLink fieldLink = new SPFieldLink(invoiceField);
myListCT.FieldLinks.Add(invoiceFieldLink);
myListCT.Update();
.
.b
в SP2013, вы можете создать столбец поиска.В поле «Получить информацию из» выберите страницы сайта.
Я рекомендую вам использовать jsom, потому что его можно легко использовать в O 365. Вы можете использовать метод: fieldcollection.addfieldasxml (horsechema, true, sp.adddfieldoptions.addododefaultcontenttype);
См. Для получения дополнительной информации: http://josharepoint.com/2015/12/02/Create-a-new-lookup-field-us-20som-in-sharepoint-2013-in-fice-365/