Добавьте тип содержимого из Sandboxed Solution для определения списка (фермерское решение) не работает

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/52239

Вопрос

Я использую решение для песочницы из 3-го вендора для вечеринок, который содержит несколько столбцов сайта и тип содержимого сайта.

Я хочу добавить этот тип содержимого в мое определение библиотеки документов в CAML.
Но когда я добавляю ссылку на этот тип контента в моем Schema.xml , как это:

<List ... EnableContentTypes="TRUE">
 <MetaData>
  <ContentTypes>
   <ContentTypeRef ID="0x0101002EFF4F6709F446E5AD064DC20BBE6855" />
   <!--contenttypeid of content type from sandboxed solution-->
   <ContentTypeRef ID="0x0101" />
   <!--contenttypeid of Document-->
   ...
  </ContentTypes>
  ...
 </MetaData>
</List>
.

Тип содержимого не добавляется в мою библиотеку, когда я создаю его экземпляр. (Я создал эту библиотеку документов после активации решения для песочницы, конечно, Еще хуже на самом деле, я получаю следующее сообщение об ошибке:

Был найден дубликат имени типа содержимого «Документ».

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

Я просто не понимаю, почему он не добавляет тип контента из песочкового решения?

Ведь я вижу этот тип содержимого на типов содержимого сайта (коллекции), и я могу добавить тип содержимого через UI в ту же библиотеку документов без ссылки на этот тип содержимого «песочника».

Обновление: Я попытался добавить только тип контента поставщиков тремя вечеринка в определение библиотеки документов, и теперь добавляется только 1 «Документ» Тип контента.
На самом деле он создает тип содержимого списка под названием «Документ», который наследует от типа содержимого сайта поставщиков 3-го вечеринок.
Таким образом, следующий список списков отображается информация содержимого:

    .
  • Имя: Документ
  • Описание: Создать новый документ
  • родитель: {3-й тип контента сайта поставщика поставщика Vendor}

    и столбцы сайта из типа содержимого сайта были скопированы.
    К сожалению, это не обновляет имя типа списка содержимого.

    Пожалуйста, поделитесь любыми подсказками, которые у вас могут быть ...

Это было полезно?

Решение

It seems that list has its own internal content type or at the very least, its own set of fields, which is creating the problem. Try investigating the list with the SharePoint Manager 2007/2010.

The alternative approach could be to use ContentTypeBinding element to bind multiple ContentTypes.

<ContentTypeBinding 
      ContentTypeId="0x010100AA8705BBBC554342BC1396AB7FB723B401" 
      ListUrl="MyDocLibrary"  
/> 
<ContentTypeBinding 
      ContentTypeId="0x010100AA8705BBBC554342BC1396AB7FB723B402" 
      ListUrl="MyDocLibrary" 
/> 
<ContentTypeBinding 
      ContentTypeId="0x010100AA8705BBBC554342BC1396AB7FB723B403" 
      ListUrl="MyDocLibrary" 
 /> 

ContentTypeBinding elements that are responsible for linking the multiple content types share a common parent i.e. 0x0101, which means ancestor of this type is the base Document content type.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top