我有一个我已启封的网站,并在内容类型中添加了列,'文件夹'。现在,我想将此内容类型添加到文档库,但我没有选择将其添加到文档库设置 - >从现有网站内容类型添加。我没有看到"文件夹内容类型"在“组”下拉菜单中。此外,如果我将内容类型移动到显示在此下拉列表中的另一个组,则它仍然不会显示。我需要做些什么来使这个内容类型成为我的文档库的选择,或者选择哪些内容类型组可用于网站的地方?
非常感谢
答案 0 :(得分:2)
如果您创建了自己的内容类型并将其发布/激活到SharePoint,则应该可以将其添加到文档库。请确保您的文档库配置为支持内容类型。
在文档库设置的高级设置部分,选择Yes
下的Allow management of content types?
然后按原样继续。 设置 - >从现有网站内容类型添加..
您可以使用控制台应用程序(参考MSDN)将内容类型添加到您网站上的列表中。它还为您提供有关当前状态的有用信息。
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();
}
}