لا يمكن استخدام نوع محتوى المجلد في Sharepoint 2007

StackOverflow https://stackoverflow.com/questions/5461276

  •  13-11-2019
  •  | 
  •  

سؤال

لدي موقع قمت فيه بفتح الأعمدة وإضافة أعمدة إلى نوع المحتوى "مجلد".الآن، أريد إضافة نوع المحتوى هذا إلى مكتبة المستندات، ولكن ليس لدي خيار إضافته في إعدادات مكتبة المستندات -> الإضافة من أنواع محتويات الموقع الموجودة.لا أرى "أنواع محتوى المجلدات" في القائمة المنسدلة للمجموعات.وأيضًا، إذا قمت بنقل نوع المحتوى إلى مجموعة أخرى تظهر في هذه القائمة المنسدلة، فإنه لا يزال غير موجود.هل هناك شيء يجب علي فعله لجعل نوع المحتوى هذا خيارًا لمكتبة المستندات الخاصة بي أو مكانًا لاختيار مجموعات أنواع المحتوى التي يمكن استخدامها لموقع ما؟

شكرا جزيلا

هل كانت مفيدة؟

المحلول

إذا قمت بإنشاء نوع المحتوى الخاص بك وتم نشره/تنشيطه على 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();
    }
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top