He creado un tipo de contenido personalizado que hereda de OOTB SharePoint Picture tipo de contenido. Las únicas personalizaciones que he hecho es agregar un campo URL simple y eliminar dos de los campos en el tipo base. Vea a continuación:SharePoint 2010: RemoveFieldRef e Inherits = "TRUE"
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<!-- Parent ContentType: Picture (0x010102) -->
<ContentType ID="0x0101020027f16ab27e6e45a6848c25c47aaa7053"
Name="Custom Picture"
Description=""
Group="Custom"
Inherits="TRUE"
Version="0">
<FieldRefs>
<RemoveFieldRef ID="{b66e9b50-a28e-469b-b1a0-af0e45486874}" Name="Keywords" />
<RemoveFieldRef ID="{a5d2f824-bc53-422e-87fd-765939d863a5}" Name="ImageCreateDate" />
<FieldRef ID="{c29e077d-f466-4d8e-8bbe-72b66c5f205c}" Name="URL" DisplayName="URL" Required="FALSE" />
</FieldRefs>
</ContentType>
</Elements>
Si creo una biblioteca de imágenes basado en mi tipo de contenido personalizado, el campo "URL" que agregó aparece en las nuevas formas/editar, sin embargo, los dos campos que he tratado de eliminar son también se muestra, es decir, se están ignorando los RemoveFieldRef. Si miro el tipo de contenido en "Configuración del sitio -> Galería de tipos de contenido", estos dos campos todavía se enumeran allí.
Configuración Inherits = "false" en mi tipo de contenido personalizado (see MSDN definition) elimina con éxito sólo estos dos campos de la "Configuración del sitio -> Tipo de Contenido Galería" página, sin embargo, a continuación, ninguno de la los campos base se muestran en los formularios nuevos/editar, solo mi campo "URL" personalizado.
¿Qué puedo hacer para asegurar que todos los campos de la base de "Imagen" tipo de contenido se muestran en las nuevas formas/edición de mi biblioteca de imágenes, excepto los dos campos que he eliminado específicamente?
probar dos cosas: 1. Extracción 'Inherits' o 2. Configuración Hereda = False y simplemente hacer referencia a los campos que desee desde el padre a su contenido tipo, por ejemplo '
La eliminación de la herencia es más una solución que una solución para el problema RemoveFieldRef. Del mismo modo, me di cuenta de que puedo dejar Inherits = "TRUE" y simplemente establecer los campos no deseados en Hidden = "TRUE". Sin embargo, si estuviera usando un tipo de contenido con docenas de campos, esto podría no ser tan tentador. Así que aún buscando ... –