2010-07-07 26 views
14

Una vez leí que no es aconsejable cambiar el nombre para mostrar de la columna Título al crear un nuevo ContentType en SharePoint. Sin embargo, es posible (es decir, el nombre estático de las columnas sigue siendo "Título", pero el nombre para mostrar es "Descripción").¿Cambiar el nombre para mostrar de la columna Título en un ContentType, sea o no inteligente?

Entonces mi pregunta es, ¿cuáles son las posibles complicaciones? ¿Por qué no debería cambiarlo cuando creo un nuevo ContentType que necesita una columna "Descripción" pero no una columna "Título"?

Respuesta

18

Acepto que debe hacer esto con el CAML XML. Solo quería publicar los detalles reales de cómo hacerlo para que la siguiente persona con esta pregunta no tenga que continuar buscando como lo hice yo. Gracias a Lambros's Blog por la respuesta.

En realidad necesita actualizar tres campos: el campo de título y los dos campos calculados basados ​​en él y debe usar los valores de ID de SharePoint predefinidos. Véase más abajo o en el enlace de arriba:

Es necesario añadir a los FieldRefs añadiendo lo siguiente:

<FieldRef Name="LinkTitle" ID="{82642ec8-ef9b-478f-acf9-31f7d45fbc31}" DisplayName="Renamed" Sealed="TRUE"/> 
<FieldRef Name="LinkTitleNoMenu" ID="{bc91a437-52e7-49e1-8c4e-4698904b2b6d}" DisplayName="Renamed" Sealed="TRUE"/> 
<FieldRef Name="Title" ID="{fa564e0f-0c70-4ab9-b863-0177e6ddd247}" DisplayName="Renamed" Sealed="TRUE"/> 

Es necesario añadir a los Campos añadiendo lo siguiente:

<Field Name="LinkTitle" ID="{82642ec8-ef9b-478f-acf9-31f7d45fbc31}" DisplayName="Renamed" Sealed="TRUE" Type="Calculated"/> 
<Field Name="LinkTitleNoMenu" ID="{bc91a437-52e7-49e1-8c4e-4698904b2b6d}" DisplayName="Renamed" Sealed="TRUE" Type="Calculated"/> 
<Field Name="Title" ID="{fa564e0f-0c70-4ab9-b863-0177e6ddd247}" DisplayName="Renamed" Sealed="TRUE" Type="Text"/> 

Eso Deberías hacerlo. Gracias de nuevo a Lambros.

+2

¿Cambiará el nombre del campo para el tipo de contenido particular que hace referencia a estos campos o para todo el sitio? +1. –

2

No tengo conocimiento de ningún problema. Lo he hecho varias veces y no he tenido ningún problema.

+1

De acuerdo con Rob, nunca he tenido un problema. También he utilizado la directiva RemoveFieldRef en los tipos de contenido que heredan del elemento para eliminarlo. – Shaneo

+0

Estoy de acuerdo. FieldRef y RemoveFieldRef no deberían causar ningún problema. Escuché que si cambia el nombre del campo en sí, puede causar el problema, que no puede volver a cambiarlo porque el nombre anterior está "reservado", ¿tal vez eso es lo que lee? – Hinek

8

Si está desarrollando su propio tipo de contenido como archivos xml en una característica de una solución, no hay problema para cambiar el nombre para mostrar de la columna del título.

El problema es cuando los usuarios intentan hacerlo a través de la interfaz de usuario.

  1. que vayan a la configuración del sitio/Los tipos de contenido
  2. abrir el tipo de contenido y hace clic en la columna del título
  3. Cambiar el nombre a algo agradable

En ese caso, lo que está cambiando es el nombre para mostrar de la Columna del Sitio del Título. Y una vez que descubren que cambió la columna del título en todas las listas, intentan volver a cambiarla, pero esto es evitado por la interfaz de usuario inteligente de SharePoint porque el título es un nombre reservado.

+1

Ah bien, ahora entiendo. Quiero crear mi tipo de contenido como xml en Visual Studio, así que estoy a salvo. Gracias. – Turrau

5

Tengo experiencia de primera mano con su pregunta de "cuáles son las posibles complicaciones", así que permítanme darles un ejemplo específico con el que me encontré y que me está causando mucho dolor esta mañana.

Inadvertidamente cambia el nombre de la columna del sitio (pensando que solo está afectando a una lista específica), pero luego se da cuenta de que ha cambiado la columna del elemento principal y ha marcado el ingenioso recuadro que dice que se aplica a todo el contenido heredado tipos. (Tengo ganas de azotarme por esto ... ugh).

Así que todas sus listas se vieron afectadas, claro. Pero espera, hay más dolor que tener aquí. La lista interna de personas de SharePoint, denominada "Lista de información del usuario" también se ve afectada, y no puede volver a cambiarla al título original de la columna "Nombre". Lo que realmente le llamará la atención es cuando intenta conectarse a las listas de SharePoint a través de Microsoft Access, que está codificado para buscar en la lista de información del usuario que busca específicamente la columna llamada "Nombre".Por lo tanto, rompe estas listas vinculadas haciéndolas inútiles a través de MS Access.

Ahora estoy investigando una forma de cambiar el nombre de nuevo a través de otro enfoque, ya que la interfaz de usuario le impide nombrar la columna de nuevo a "Nombre".

Por lo tanto, para responder a su pregunta: ¡No lo hagas!

+0

Al escribir, ha cambiado el nombre para mostrar de la columna del sitio Título del tipo de contenido principal (supongo que era el tipo de contenido del Artículo en la web raíz de la colección de sitios). Por supuesto, tiene consecuencias en su colección de sitios. Pero cambiar el nombre para mostrar de la columna Título de un tipo de contenido (propiedad DisplayName de FieldLink) que no tiene docenas de otros tipos de contenido heredados (por ejemplo, un tipo de contenido vinculado a una lista) suele ser bastante común. Puede evaluar la lista de usuarios ocultos a través de $ web.SiteUserInfoList de PowerShell y cambiar las cosas desde el código. – pholpar

Cuestiones relacionadas