7 Stimmen

SharePoint 2010: RemoveFieldRef und Inherits="TRUE"

Ich habe einen benutzerdefinierten Inhaltstyp erstellt, der von der OOTB SharePoint Bild Inhaltstyp. Die einzigen Anpassungen, die ich vorgenommen habe, sind das Hinzufügen eines einfachen URL-Feldes und das Entfernen von zwei Feldern aus dem Basistyp. Siehe unten:

<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
    <!-- Parent ContentType: Picture (0x010102) -->
    <ContentType ID="0x0101020027f16ab27e6e45a6848c25c47aaa7053"
                 Name="Custom Picture"
                 Description=""
                 Group="Custom"
                 Inherits="TRUE"
                 Version="0">
        <FieldRefs>
            <RemoveFieldRef ID="{b66e9b50-a28e-469b-b1a0-af0e45486874}" Name="Keywords" />
            <RemoveFieldRef ID="{a5d2f824-bc53-422e-87fd-765939d863a5}"  Name="ImageCreateDate" />
            <FieldRef ID="{c29e077d-f466-4d8e-8bbe-72b66c5f205c}" Name="URL" DisplayName="URL" Required="FALSE" />
        </FieldRefs>
    </ContentType>
</Elements>

Wenn ich eine Bildbibliothek auf der Grundlage meines benutzerdefinierten Inhaltstyps erstelle, wird das von mir hinzugefügte Feld "URL" in den Formularen für die Neuanlage/Bearbeitung angezeigt, jedoch werden auch die beiden Felder angezeigt, die ich versucht habe zu entfernen, d. h. die RemoveFieldRefs werden ignoriert . Wenn ich mir den Inhaltstyp in "Website-Einstellungen -> Inhaltstyp Galerie" sind diese beiden Felder dort noch aufgeführt.

Einstellung Inherits="FALSE" für meinen benutzerdefinierten Inhaltstyp ( siehe MSDN-Definition ) beseitigt erfolgreich nur diese beiden Felder aus dem "Website-Einstellungen -> Inhaltstyp Galerie" Seite, dann aber keine der Basisfelder werden in den neuen/geänderten Formularen angezeigt - nur mein benutzerdefiniertes "URL"-Feld.

Wie kann ich sicherstellen, dass alle Felder des Basisinhaltstyps "Bild" in den Formularen zum Erstellen/Bearbeiten meiner Bildbibliothek angezeigt werden, mit Ausnahme der beiden Felder, die ich ausdrücklich entfernt habe?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X