Определение списка Sharepoint, которое привязывается только к моему пользовательскому типу контента

Я разрабатываю решение Sharepoint, которое реализует новый список. В этом списке есть получатель событий, связанный с типом пользовательского содержимого.

Я использую VSeWSS 1.3 для этой задачи, и все идет нормально (создается тип контента, создается список и привязывается к типу контента, приемник событий срабатывает успешно.

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

Какие-либо предложения??

3 ответа

Решение

Оба ответа помогли мне, но я также обнаружил, что вам нужно снова указать столбцы в определении списка (не только в типе содержимого), потому что в противном случае они не будут отображаться в списке.

В schema.xml нужно сделать 2 изменения

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

EnableContentTypes="TRUE"

элемент должен содержать элемент , который задает ваш пользовательский тип контента.

например:

<?xml version="1.0"?>
<List 
  xmlns:ows="Microsoft SharePoint" 
  Title="List_Title" 
  FolderCreation="FALSE" 
  Direction="$Resources:Direction;" 
  Url="Lists/List_Title" 
  BaseType="0" 
  Name="List_Title" 
  Id="51D716AC-DF9D-4ebb-9F8E-9134EEBB7C39" 
  Type="100" 
  xmlns="http://schemas.microsoft.com/sharepoint/"
  EnableContentTypes="TRUE"
>
  <MetaData>
    <ContentTypes>
      <ContentTypeRef ID="0x01..." />
    </ContentTypes>

Вам нужно будет отредактировать Schema.xml для своего пользовательского списка. Найти <ContentTypes> отметьте и удалите все, что вы не хотите, чтобы их показывали.

Ваше определение списка будет иметь гид (например, <Elements Id="0a8594c8-5cf1-492e-88ce-df943830c88c") который будет указывать список из схемы XML (например,<List Name="... ...Id="0a8594c8-5cf1-492e-88ce-df943830c88c">)

Я не уверен, для чего нужна реализация, обычно есть файл feature.xml для объединения предыдущих файлов xml (например,<ElementManifests><ElementManifest Location="MyFeature\ListDefinition.xml" /><ElementFile Location="MyFeature\schema.xml" />)

Другие вопросы по тегам