Pergunta

Eu tenho um site no qual abri e adicionei colunas a um tipo de conteúdo, 'Pasta'.Agora, quero adicionar esse tipo de conteúdo a uma biblioteca de documentos, mas não tenho a opção de adicioná-lo em Configurações da biblioteca de documentos -> Adicionar a partir de tipos de conteúdo de site existentes.Não estou vendo os "Tipos de conteúdo de pasta" no menu suspenso Grupos.Além disso, se eu mover o tipo de conteúdo para outro grupo que apareça neste menu suspenso, ele ainda não aparecerá.Há algo que preciso fazer para tornar esse tipo de conteúdo uma opção para minha biblioteca de documentos ou um local para escolher quais grupos de tipos de conteúdo podem ser usados ​​em um site?

Muito obrigado

Foi útil?

Solução

Se você criou seu próprio tipo de conteúdo e ele foi publicado/ativado no SharePoint, ele deverá estar disponível para você adicionar a uma biblioteca de documentos.Apenas certifique-se de que sua biblioteca de documentos esteja configurada para oferecer suporte a tipos de conteúdo.

Na seção Configurações avançadas de Configurações da biblioteca de documentos, selecione Yes sob Allow management of content types? Então continue como estava. Configurações -> Adicionar tipos de conteúdo de site existentes.

Você pode usar um aplicativo de console (ref. MSDN) para adicionar um tipo de conteúdo a uma lista no seu site.Também fornece mensagens úteis sobre o estado atual das coisas.

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();
    }
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top