Тип контента по умолчанию и порядок типов контента с использованием папок в списке Sharepoint - PullRequest
1 голос
/ 24 июля 2009

У меня есть пользовательское определение списка (schema.xml). Я установил столбцы сайта (с помощью функции) и множество типов контента, также с помощью функции, все это работает нормально. У меня есть определение списка (schema.xml), и я поместил типы контента вверху в том порядке, в котором я хочу, чтобы они отображались (при условии, что верхний тип контента будет по умолчанию для списка - это то, что я хочу)

ПРИМЕЧАНИЕ. У меня установлен

EnableContentTypes="true" 

. Вот выдержка из моего schema.xml

<ContentTypes>
  <!-- Folder based content type -->
  <ContentTypeRef ID="0x0120006ad66a4924644ac98d371a0e069c5d99" />
  <!-- Item Based Content Type -->
  <ContentTypeRef ID="0x0100a18ddd58b9384567bc776a3c5889ea77" />
  <!--   ..... more content types ...  -->
</ContentTypes>

Проблема, с которой я сталкиваюсь, заключается в том, что при подготовке списка папкаоснованный тип контента всегда является вторым в списке, и, как результат, он никогда не является значением по умолчанию в списке. Единственный способ установить его по умолчанию - это удалить все другие объявления типов контента, что лишает объект возможности иметь несколько типов контента. ,Является ли этот порядок из-за того, как подготовлен список, или мне не хватает чего-то, спрятанного глубоко в SDK, любая помощь с благодарностью принята

Ответы [ 3 ]

1 голос
/ 10 апреля 2013

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

1 голос
/ 25 июля 2009

Используя FeatureReceiver, вы можете установить списки RootFolder.UniqueContentTypeOrder в упорядоченный список ContentTypes, который затем определит порядок кнопок.

Вы также можете опустить ContentTypes, которые вы не хотите, чтобы они были доступны дажехотя они определены в списке. Обычно это сочетается с получателем событий, который устанавливает порядок кнопок (UniqueContentTypeOrder) для добавленных папок, чтобы направлять людей в определенную структуру, например, только папки на верхнем уровне и никаких вложенных папок (или только уровней x глубиной) или что вам нравится.

0 голосов
/ 04 февраля 2016

... основываясь на ответе @Renan - декларативно установите тип контента по умолчанию. Создайте модуль, назовите его «Пакеты свойств» и добавьте его к функции веб-области, содержащей ваш экземпляр списка. Elements.xml должен содержать следующее:

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <PropertyBag Url="<!--URL of your list instance here-->" ParentType="Folder" RootWebOnly="FALSE" AlwaysCreateFolder="TRUE" xmlns="http://schemas.microsoft.com/sharepoint/">
    <Property Name="vti_contenttypeorder" Value="<!--Your custom Content Type ID here-->" Type="string" /> 
  </PropertyBag>
</Elements>
...