Question

Où "lier" les types de contenu à ma liste?

Je dois lier deux différents types de contenu personnalisé. J'ai essayé de le faire dans la définition de la liste, mais les modifications ne prennent effet. Le faire à côté de l'instance de liste ne travail, mais ne fonctionnerait pas si je créer une nouvelle liste parturition l'interface utilisateur Web.

A côté instance de liste

<ListInstance>
</ListInstance>
<ContentTypeBinding ContentTypeId="" ListUrl="">

A travaillé, mais seulement pour la création par la définition CAML.

Modèle intérieur de la liste

<List>
  <MetaData>
    <ContentTypes>
      <ContentTypeRef ID=""/>

Cela ne fonctionne pas. Quelque chose de spécial de penser ici?

Ajoutez-récepteur par un événement

Une méthode que je suis venu à mon esprit, que je ne l'ai pas encore essayé, est d'ajouter les types de contenu Whit un récepteur d'événements lors de la création de la liste? Il devrait fonctionner, mais se sent plus compliqué que d'utiliser CAML.

Était-ce utile?

La solution

Le bon endroit est le modèle de liste (schema.xml). Mais vous devez répéter l'fileRef dans l'élément ContentTypeRef de la définition du type de contenu et aussi copier tous les champs à la section Champs du schema.xml. Ensuite, pour obtenir la liste créée, vous devez correctement créer une nouvelle instance de la liste après avoir déployé le schéma de mise à jour.

Malheureusement, vous ne pouvez pas relier simplement la définition de liste à un type de contenu.

Voici un exemple dépouillé:

 <List>
  <MetaData>
    <ContentTypes>
      <ContentType ID="0x0100..." Name="...">
        <FieldRefs>
          <FieldRef ID="{993DAADB-918B-4AA1-89F4-34F0B57FD058}" Name="Some Field" />
        </FieldRefs>
      </ContentType>
    </ContentTypes>
    <Fields>
      <Field ID="{993DAADB-918B-4AA1-89F4-34F0B57FD058}" Name="Some Field" />

Autres conseils

J'utilise généralement l'élément ContentTypeBinding, puis re-ordre progammatically les types de contenu tels que mon « lié » est une nouvelle valeur par défaut.

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top