Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Importante
Los complementos de SharePoint alcanzaron la finalización de su vida útil en SharePoint Online el 2 de abril de 2026. Tanto los complementos hospedados por SharePoint como los hospedados por el proveedor se retiran y ya no funcionan en SharePoint Online, incluidas las nubes de administración pública. Las instrucciones de uso, implementación y desarrollo de complementos se conservan como referencia histórica y para escenarios de SharePoint Server aplicables, no para nuevas soluciones de SharePoint Online.
Los complementos de SharePoint Server implementados a través de un catálogo de aplicaciones local no se retiran por este cambio. La adquisición de complementos de SharePoint en el marketplace público finalizó el 2 de abril de 2026 para SharePoint Server.
Esta retirada no retira las API de REST DE SHAREPOINT, CSOM, JSOM o SharePoint Framework (SPFx). Para SharePoint Online, use SPFx para las extensiones de la interfaz de usuario y Microsoft Entra ID para la autenticación en aplicaciones externas. Consulte el anuncio de retirada y las instrucciones de migración de complementos.
Importante
Aviso de contenido heredado
Este artículo se basa en el desarrollo heredado de SharePoint (complementos, JSLink, FTC/Farm Solutions) y no se recomienda para SharePoint Online moderno. JSLink y el modelo de complementos de SharePoint están en desuso y no son compatibles con las experiencias modernas. En su lugar, use SharePoint Framework (SPFx) para el desarrollo moderno.
Resumen
El enfoque que adopte para proporcionar experiencias de usuario final personalizadas es diferente en el nuevo modelo de complemento de SharePoint que con el código de plena confianza. En un escenario típico de código de plena confianza (FTC)/solución de granja de servidores, los tipos de campo personalizados se crearon con el código del modelo de objetos del servidor de SharePoint heredando de una de las clases de tipo de campo integradas y creando un archivo de implementación de tipo de campo (XML). Estos componentes se implementaron a través de soluciones de SharePoint.
En un escenario de modelo de complementos de SharePoint, las experiencias de usuario final personalizadas se implementan a través de la representación del lado cliente. En este enfoque, los archivos JavaScript se usan para implementar experiencias de usuario final personalizadas. El patrón de aprovisionamiento remoto implementa los archivos JavaScript y los registra con los campos de SharePoint a través de la propiedad JSLink.
Desde la perspectiva del usuario final, la capacidad y el resultado tienen el mismo aspecto.
Importante
Las personalizaciones basadas en JSLink (representación del cliente) no se admiten en la experiencia moderna. Esto incluye listas y bibliotecas modernas, así como la compatibilidad de JSLink en los elementos web de vista de lista de las páginas modernas. La representación del cliente es compatible con la experiencia clásica de SharePoint Online o local.
Estos son algunos ejemplos de tipo de campo personalizado que implementa un mapa de Google. Estos provienen de la muestra Branding.JSLink de Office 365 PnP.
Miniatura de imágenes de mapas de Google que se muestran en una vista de lista:
Edición en línea que muestra una miniatura de mapa de Google más grande:
Un cuadro de diálogo que habilita la edición en línea:
Directrices importantes
Como regla general, nos gustaría proporcionar las siguientes directrices de alto nivel para implementar la representación del lado cliente.
- Use archivos JavaScript y representación del lado cliente para implementar tipos de campos personalizados.
- Use el patrón de aprovisionamiento remoto para implementar archivos JavaScript y registrarlos con campos de SharePoint o elementos web Vista de lista.
- Registre los archivos JavaScript con el motor de estrategia de descarga mínima (MDS) para asegurarse de que el motor MDS es consciente de la representación personalizada de los archivos JavaScript.
- La configuración de la propiedad JSLink para hospedar la web requiere al menos permiso completo a nivel web, por lo que este enfoque no es adecuado para los complementos de la tienda SharePoint
Opciones para implementar la representación del lado cliente con archivos JavaScript a través de la propiedad JSLink
Tiene un par de opciones para implementar la representación del lado cliente con archivos JavaScript a través de la propiedad JSLink.
- Establezca la propiedad JSLink en un elemento web Vista de lista que representa una vista de una lista de SharePoint.
- Establecer la propiedad JSLink para un campo de SharePoint.
- Establezca la propiedad JSLink para un tipo de contenido de SharePoint.
Establezca la propiedad JSLink en un elemento web Vista de lista que representa una vista de una lista de SharePoint
En esta opción, establece la propiedad JSLink en una definición de elemento WebPart.
-
Este enfoque no crea específicamente un tipo de campo personalizado en el nivel de SPField.
- Por lo tanto, la representación personalizada solo se aplica en el elemento web Vista de lista donde se establece la propiedad JSLink.
- Este enfoque le permite cambiar la representación de uno o varios campos de SharePoint a la vez.
- Este enfoque se puede realizar con código declarativo, con el modelo de objetos del servidor de SharePoint, con el modelo de objetos del lado cliente (CSOM) de SharePoint o mediante PowerShell.
- Le recomendamos que use el modelo de objetos del lado servidor de SharePoint, el modelo de objetos del lado cliente de SharePoint o PowerShell para establecer la propiedad JSLink mediante el patrón de aprovisionamiento remoto.
¿Cuándo es una buena opción?
Cuando necesite definir vistas específicas para datos de lista de SharePoint y modificar la representación de más de un campo de SharePoint, esta es una buena opción.
Introducción
En el ejemplo siguiente se establece la propiedad JSLink en un elemento web Vista de lista de SharePoint.
-
Branding.ClientSideRendering (ejemplo de O365 PnP)
- Incluye 9 ejemplos que establecen la propiedad JSLink en un elemento web Vista de lista de SharePoint y una explicación de cómo se implementó cada ejemplo.
- El método RegisterJStoWebPart establece la propiedad JSLink del elemento web Vista de lista.
Establecer la propiedad JSLink para un campo de SharePoint
En esta opción, establece la propiedad JSLink en un SPField.
-
Este enfoque registra específicamente la propiedad JSLink en el nivel de SPField.
- Por lo tanto, la representación personalizada se aplicará en todas partes donde se represente el SPField.
- Este enfoque le permite cambiar la representación de un campo de SharePoint.
- Este enfoque se puede realizar con código declarativo, con el modelo de objetos del servidor de SharePoint, con el modelo de objetos del lado cliente de SharePoint o mediante PowerShell.
- Le recomendamos que use el modelo de objetos del lado servidor de SharePoint, el modelo de objetos del lado cliente de SharePoint o PowerShell para establecer la propiedad JSLink mediante el patrón de aprovisionamiento remoto.
¿Cuándo es una buena opción?
Cuando necesite definir una vista específica para un campo de SharePoint determinado y asegurarse de que la vista siempre se usa cuando se representa el campo, esta es una buena opción.
Introducción
Los artículos siguientes muestran cómo establecer la propiedad JSLink en un SPField.
Desafíos con la implementación de la representación del lado cliente con archivos JavaScript a través de la propiedad JSLink
A medida que desarrolle componentes de representación personalizados del lado cliente, tenga en cuenta lo siguiente.
No todos los campos de SharePoint se pueden invalidar con la propiedad JSLink.
- TaxonomyField es un buen ejemplo.
JSLink admite varios tokens.
- _layouts
- _site
- _siteCollection
- _siteCollectionLayouts
- _siteLayouts
Puede registrar los archivos JavaScript JSLink con el marco de SharePoint Script On Demand (SOD) para cargar el archivo de forma diferida.
Use la etiqueta (d) al final de la dirección URL de JSLink para registrar el archivo con el SOD.
~sitecollection/Style Library/JSLink-Samples/DependentFields.js(d)
Puede cargar varios archivos JavaScript a través de la propiedad JSLink.
Esto resulta especialmente útil si tiene una biblioteca de archivos JavaScript que implementan la representación del lado cliente.
Considere la posibilidad de usar este enfoque al dirigirse a dispositivos móviles, ya que le permite entregar justo el JavaScript que necesita para implementar la representación del lado cliente de un campo de SharePoint determinado.
Use la | para separar los archivos JavaScript que desea cargar.
~sitecollection/Style Library/JSLink-Samples/MainLibrary.js|~sitecollection/Style Library/JSLink-Samples/SpecificField.js**(d)**
Vínculos relacionados
- Propiedad SPField.JSLink (documentos de la API de MSDN)
- Uso de JSLink con SharePoint 2013 (MSDN Magazine)
- Artículos de orientación en https://aka.ms/OfficeDevPnPGuidance
- Referencias en Microsoft Learn: Guía de soluciones de patrones y prácticas de desarrollo (PnP) de Office 365
Ejemplos de PnP
- Branding.ClientSideRendering (ejemplo de O365 PnP)
- Branding.JSLink (ejemplo de PnP de O365)
- Ejemplos y contenido en https://github.com/SharePoint/PnP
Se aplica a
- Office 365 multiempresa (MT)
- Office 365 dedicado (D) parcial
- SharePoint 2013 local parcial
Los modelos para Office 365 dedicado y local son idénticos a las técnicas del modelo de complemento de SharePoint, pero existen algunas diferencias en las posibles tecnologías que se pueden usar.