Видалення типів контенту

Видалити тип контенту неможливо, якщо він використовується в якості основи для іншого сайту або типів контенту списків. Необхідно спочатку видалити цей тип контенту з усіх списків, в яких він використовується, а також видалити всі типи контенту дочірніх сайтів, засновані на ньому.

Неможливо видалити тип контенту зі списку, якщо цей список містить елементи даного типу. Однак Microsoft SharePoint Foundation не враховує елементи, що знаходяться в кошику. Якщо елемент відновити з кошика після того, як його тип контенту був вилучений зі списку, то йому буде призначений тип контенту за замовчуванням для цього списку.

Щоб видалити тип контенту з колекції типів контенту в списку або бібліотеці документів, необхідно спочатку отримати доступ до колекції в властивості ContentTypes об'єкта SPList (сервер) або об'єкта List (клієнт). Потім необхідно викликати метод Delete. передавши структуру SPContentTypeId (на сервері) або ContentTypeId (на клієнті), що визначає тип контенту, який потрібно видалити.

Щоб видалити тип контенту з колекції, виконайте доступ до колекції в властивості ContentTypes об'єкта SPWeb (на сервері) або об'єкта Web (на клієнті). Потім викличте метод Delete.

В обох об'єктах SPWeb (на сервері) і Web (на клієнті) є властивість AvailableContentTypes. яке повертає колекцію типів контенту. Ця колекція доступна тільки для читання. З неї можна видалити об'єкти через те, що вона містить всі типи контенту, доступні на цьому сайті, а не тільки типи контенту, певні на цьому сайті.

В обох випадках слід мати на увазі, що використовуваний тип контенту видалити не можна. При спробі видалити тип контенту зі списку спочатку слід переконатися, що жоден елемент списку не використовує цей тип контенту. Це можна зробити, обійшовши в циклі всі елементи списку і скориставшись пошуком роботи значення властивості ContentType кожного елемента. При спробі видалити тип контенту з сімейства веб-сайтів, в якому він визначений, слід переконатися, що метод GetUsages повертає порожній список, т. Е. Тип контенту, відсутня в будь-якому списку і не є батьком якого-небудь дочірнього типу контенту .

У наведеному нижче прикладі показано консольний додаток, яке перевіряє, чи використовується застарілий тип контенту на поточному веб-сайті або будь-якому дочірньому сайті. Якщо тип контенту не використовується, додаток видаляє його.

Схожі статті