Frage

Ich habe eine Site, auf der ich Spalten zu einem Inhaltstyp 'Ordner' geöffnet und hinzugefügt habe.Jetzt möchte ich diesen Inhaltstyp zu einer Dokumentbibliothek hinzufügen, aber ich habe nicht die Möglichkeit, ihn unter Dokumentbibliothekseinstellungen -> Aus vorhandenen Websiteinhaltstypen hinzufügen hinzuzufügen.Ich sehe die "Ordnerinhaltstypen" im Dropdown-Menü "Gruppen" nicht.Wenn ich den Inhaltstyp in eine andere Gruppe verschiebe, die in dieser Dropdown-Liste angezeigt wird, wird er immer noch nicht angezeigt.Muss ich etwas tun, um diesen Inhaltstyp zu einer Auswahl für meine Dokumentbibliothek oder zu einem Ort zu machen, an dem ich auswählen kann, welche Inhaltstypgruppen für eine Site verwendet werden können?

Vielen Dank

War es hilfreich?

Lösung

Wenn Sie einen eigenen Inhaltstyp erstellt haben und dieser in SharePoint veröffentlicht / aktiviert ist, sollte er für Sie verfügbar sein, um ihn einer Dokumentbibliothek hinzuzufügen.Stellen Sie nur sicher, dass Ihre Dokumentbibliothek für die Unterstützung von Inhaltstypen konfiguriert ist.

Wählen Sie im Abschnitt Erweiterte Einstellungen der Dokumentbibliothekseinstellungen die Option Yes unter Allow management of content types? Dann mach weiter wie du warst. Einstellungen -> Aus vorhandenen Websiteinhaltstypen hinzufügen..

Sie können eine Konsolenanwendung verwenden (ref MSDN), um einer Liste auf Ihrer Website einen Inhaltstyp hinzuzufügen.Es gibt Ihnen auch nützliche Nachrichten über den aktuellen Stand der Dinge.

class Program {
    static void Main(string[] args) {
        using (SPSite siteCollection = new SPSite("http://YOUR_SPSITE")) {
            using (SPWeb site = siteCollection.OpenWeb() {

                // Get a content type.
                SPContentType ct = site.AvailableContentTypes["YOUR_CONTENT_NAME"];

                // The content type was found.
                if (ct != null) 
                    // Get a list.
                    try {
                        SPList list = site.Lists["YOUR_DOCUMENT_LIBRARY_NAME"]; // Throws exception if does not exist.

                        // Make sure the list accepts content types.
                        list.ContentTypesEnabled = true;

                        // Add the content type to the list.
                        if (!list.IsContentTypeAllowed(ct))
                            Console.WriteLine("The {0} content type is not allowed on the {1} list",
                                                ct.Name, list.Title);
                        else if (list.ContentTypes[ct.Name] != null)
                            Console.WriteLine("The content type name {0} is already in use on the {1} list",
                                                ct.Name, list.Title);
                        else
                            list.ContentTypes.Add(ct);
                    } 
                    catch (ArgumentException ex) // No list is found.                         
                    {
                        Console.WriteLine("The list does not exist.");
                    }
                else // No content type is found.
                    Console.WriteLine("The content type is not available in this site.");
            }
        }
        Console.Write("\nPress ENTER to continue...");
        Console.ReadLine();
    }
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top