Procédure : Personnaliser la page d’accueil
Dernière modification : lundi 19 avril 2010
S’applique à : SharePoint Server 2010
Dans cet article
Modifier une page d’accueil avec l’éditeur SharePoint basé sur le Web
Personnaliser les chaînes de requête de page pour filtrer le contenu de la page d’accueil en fonction des valeurs de métadonnées
Spécifier un nouveau formulaire pour un type de contenu d’ensemble de documents
Les ensembles de documents possèdent une page de composants WebPart personnalisable, la page Bienvenue, qui par défaut affiche une image, les propriétés de l’ensemble de documents que vous spécifiez et le contenu de l’ensemble de documents. Cette rubrique présente les personnalisations que vous pouvez apporter à la page Bienvenue au niveau du site et au niveau de la liste.
Pour apporter des modifications au niveau du site, sélectionnez l’option Mettre à jour la page d’accueil des ensembles de documents héritant de ce type de contenu dans l’interface utilisateur. Enregistrez les paramètres d’ensemble de documents pour mettre à jour la page Bienvenue dans votre bibliothèque de documents.
Attention |
---|
Les modifications apportées en personnalisant la page Bienvenue au niveau de la liste mettent immédiatement à jour la page pour toutes les instances de ce type de contenu. |
Par défaut, les pages Bienvenue ne sont pas répercutées aux types de contenu enfants. Cette contrainte empêche que les utilisateurs ne remplacent accidentellement les personnalisations de page Bienvenue sur des pages enfants. Nous vous recommandons d’apporter des modifications de page Bienvenue uniquement au niveau le plus bas nécessaire ou en marquant vos types de contenu en lecture seule. Par exemple, si vous créez un type de contenu d’ensemble de documents « Plaquette commerciale », que vous personnalisez la page Bienvenue, que vous personnalisez ensuite la page Bienvenue du type de contenu d’ensemble de documents de base et que vous répercutez cette modification, la page personnalisée « Plaquette commerciale » sera remplacée par la page du type de contenu d’ensemble de documents parent. Pour répercuter les modifications de la page Bienvenue à tous les enfants, activez la case à cocher Mettre à jour la page d’accueil des ensembles de documents héritant de ce type de contenu.
Du fait que les ensembles de documents ont une page pour chaque type de contenu, les modifications apportées à la page Bienvenue d’un type de contenu d’ensemble de documents s’appliquent à toutes les instances de ce type de contenu. Vous devez utiliser des composants WebPart pour obtenir de manière dynamique des données en fonction du contexte. Par exemple, l’ajout d’un Composant WebPart Forum de notes utilise le contexte de l’ensemble de documents de sorte que différentes notes s’affichent sur chaque instance spécifique d’une plaquette commerciale.
Vous pouvez appliquer trois méthodes pour personnaliser une page Bienvenue :
Utilisez l’éditeur de page SharePoint basé sur le Web en cliquant sur le lien Personnaliser la page d’accueil à partir de la page Paramètres de l’ensemble de documents.
Utilisez SharePoint Designer. Vous devez disposer d’autorisations suffisantes pour accéder à l’objet de site All Files. Ouvrez SharePoint Designer, naviguez jusqu’à la bibliothèque de documents où est stocké l’ensemble de documents, naviguez jusqu’au dossier Formulaires, naviguez jusqu’au dossier de votre type de contenu d’ensemble de documents, puis ouvrez docsethomepage.aspx.
Utilisez le modèle objet d’ensemble de documents pour implémenter une page personnalisée complète. Recherchez les API de personnalisation de la page Bienvenue dans l’espace de noms Microsoft.Office.DocumentManagement.DocumentSets.
Modifier une page d’accueil avec l’éditeur SharePoint basé sur le Web
Accédez à un type de contenu Ensemble de documents personnalisé que vous avez créé dans la bibliothèque de types de contenu du site, cliquez sur Paramètres de l’ensemble de documents, puis cliquez sur le lien pour personnaliser la page Bienvenue. Une page ressemblant à l’ensemble de documents s’affiche. Dans le Ruban, sous l’onglet Page, cliquez sur Modifier la page pour modifier la page.
Vous pouvez ajouter des composants WebPart dans quatre zones. Modifiez l’image de composant WebPart afin d’utiliser une image différente. Ajoutez un Composant WebPart Forum de notes en bas afin que les utilisateurs puissent laisser des commentaires. Pour apporter ces modifications, cliquez sur Ajouter un composant WebPart dans la Zone 4, puis sélectionnez Forum de notes dans la catégorie Composant WebPart Collaboration sociale.
Une fois les modifications terminées, vous pouvez les enregistrer. Dans le Ruban, sous l’onglet Page, sélectionnez Arrêter la modification. La page Bienvenue ayant été modifiée au niveau du site, revenez à la page Paramètres del’ensemble de documents, activez la case à cocher permettant de répercuter les modifications apportées à la page d’accueil, puis enregistrez les paramètres de l’ensemble de documents. Maintenant, naviguez jusqu’à un ensemble de documents et observez que la page Web est personnalisée pour tous les ensembles de documents.
Personnaliser les chaînes de requête de page pour filtrer le contenu de la page d’accueil en fonction des valeurs de métadonnées
Les pages Bienvenue des ensembles de documents chargent le contenu de manière dynamique en fonction du contenu de l’ensemble de document actif. Cela signifie que certains composants WebPart, tels que le Composant WebPart Contenu par requête, risquent de ne pas remplir la fonction souhaitée. Si vous configurez un composant WebPart de requête de contenu, il sera statique pour chaque ensemble de documents et il n’y a aucun moyen d’obtenir de manière dynamique des résultats basés sur l’ensemble de documents dans le contexte. Vous pouvez configurer le composant WebPart de requête de contenu de façon à filtrer en fonction d’une valeur de métadonnées de la page, mais étant donné qu’il existe une seule page Bienvenue par type de contenu d’ensemble de documents, cela ne fonctionne pas avec la page Bienvenue des ensembles de documents. L’option la plus viable consiste à utiliser une chaîne de requête de page. Cependant, par défaut, les ensembles de documents ne fournissent généralement pas la chaîne de requête de page souhaitée ; vous devez par conséquent la personnaliser.
Pour implémenter une solution basée sur une chaîne de requête de page personnalisée, créez un composant WebPart qui redirige vers la page Bienvenue de l’ensemble de documents et inclut une chaîne de requête avec la valeur de métadonnées que vous souhaitez utiliser dans le composant WebPart de requête de contenu. Pour cela, créez un composant WebPart que vous pouvez placer dans la page Bienvenue de l’ensemble de documents. Dans le fichier .ascx du composant WebPart, insérez le code suivant :
if (!String.IsNullOrEmpty(Request.QueryString["Column"]))
{
}
else
{
string thisPage = Request.Url.AbsoluteUri;
integer docSetId = Request.QueryString["ID"];
DocumentSet myItem = Microsoft.Office.DocumentManagement.DocumentSets.DocumentSet.GetDocumentSet(templates.Items[docSetId].Folder);
thisPage+="&Column=";
thisPage+=myItem["Column"].ToString();
Response.Redirect(thisPage);
}
L’instruction If vérifie si la chaîne de requête pour Column a été passée. Si c’est le cas, aucune action n’est nécessaire. Sinon, il doit y avoir une redirection vers la page Bienvenue de l’ensemble de documents qui inclut la chaîne de requête. Vous pouvez maintenant ajouter un composant WebPart de requête de contenu afin d’utiliser la chaîne de requête de page que vous passez. Dans la section de filtres supplémentaires du composant WebPart de requête de contenu, sélectionnez votre colonne et, pour Requête ou valeur personnalisée, entrez [PageQueryString: Column Name]. Vous disposez maintenant d’un composant WebPart de requête de contenu capable d’effectuer un filtrage sur la base de propriétés de métadonnées passées en tant que chaîne de requête sans avoir à créer de composant WebPart personnalisé qui interroge le contenu associé.
Spécifier un nouveau formulaire pour un type de contenu d’ensemble de documents
Le formulaire utilisé pour créer des ensembles de documents se trouve dans le dossier _layouts sur le serveur SharePoint. Il n’existe qu’un seul formulaire par type de contenu d’ensemble de documents. Dans certains cas, un formulaire personnalisé peut être nécessaire. Avec un formulaire personnalisé, il est possible de remplir automatiquement des métadonnées ou d’ajouter une mise en forme conditionnelle de sorte que seuls les champs spécifiés soient affichés, en fonction des options sélectionnées par l’utilisateur.
Le type de contenu d’ensemble de documents inclut une propriété nommée NewFormUrl ; le fait de modifier cette propriété vous permet de spécifier le nouveau formulaire utilisé par le type de contenu et de spécifier un nouveau formulaire personnalisé pour chaque type de contenu d’ensemble de documents. Avant de modifier cette propriété, créez une page .aspx et stockez-la dans le dossier _layouts ou dans un dossier sous _layouts. Si vous stockez le formulaire dans un dossier, ajoutez un fichier web.config qui inclut l’assembly d’ensemble de documents, qui est nécessaire pour utiliser le modèle objet d’ensemble de documents pour créer un ensemble de documents.
L’exemple suivant montre une nouvelle page d’ensemble de documents personnalisée ; tout d’abord la page code-behind customdocumentset.aspx, puis la page de code customdocumentset.cs.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="CustomNewDocset.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<asp:Literal ID="litList" runat="server" />
<asp:Literal ID="litCt" runat="server" />
</body>
</html>
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Microsoft.SharePoint;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
SPList list = SPContext.Current.List;
litList.Text = list.Title;
SPContentTypeId ctid = new SPContentTypeId(Request.QueryString.GetValues("ContentTypeId")[0]);
SPContentType ct = list.ContentTypes[ctid];
litCt.Text = ct.Name;
}
}
Le fichier web.config est le fichier de configuration qui doit être placé dans le dossier qui contient la nouvelle page .aspx d’ensemble de documents personnalisée. Le fichier web.config est obligatoire, car en son absence le modèle objet d’ensemble de documents est inaccessible. Ajoutez des références à d’autres assemblys selon les besoins. Si la nouvelle page d’ensemble de documents personnalisée est placée à la racine du dossier _layouts plutôt que dans un autre dossier, le fichier web.config est inutile.
<?xml version="1.0"?>
<!--
Note: As an alternative to editing this file manually, you can use the
Web admin tool to configure settings for your application. Use
the Website->ASP.NET Configuration option in Visual Studio.
A full list of settings and comments can be found in
machine.config.comments, which is usually located in the
\Windows\Microsoft.Net\Framework\v2.x\Config directory.
-->
<configuration>
<system.web>
<!--
Set compilation debug="true" to insert debugging
symbols into the compiled page. Because this
affects performance, set this value to true only
during development.
-->
<compilation debug="false">
<assemblies>
<add assembly="Microsoft.Office.DocumentManagement, Version=14.0.0.0, Culture=neutral, PublicKeyToken=94DE0004B6E3FCC5"/>
</assemblies>
</compilation>
</system.web>
</configuration>
Pour que vous puissiez utiliser la nouvelle page d’ensemble de documents personnalisée, l’URL du type de contenu d’ensemble de documents doit être mise à jour. L’exemple suivant est un script Windows PowerShell utilisable. Passez l’URL au site qui contient le type de contenu d’ensemble de documents à modifier. Spécifiez l’ID de type de contenu approprié pour le ctid du type de contenu à modifier. SharePoint Server met à jour la propriété NewFormUrl de façon à utiliser la nouvelle page d’ensemble de documents personnalisée au lieu de la page par défaut. La chaîne $siteurl doit être l’URL qui a le type de contenu d’ensemble de documents personnalisé. La chaîne $ctid est l’ID de type de contenu de l’ensemble de documents modifié. Le paramètre $contentType.NewFormUrl est l’emplacement par rapport au dossier _layouts qui contient le nouveau formulaire d’ensemble de documents personnalisé.
$siteUrl = "http://mysite"
$ctid = "0x0120D520"
param($siteUrl)
$site = New-Object Microsoft.SharePoint.SPSite($siteUrl)
$web = $site.RootWeb;
$contentTypeId = New-Object Microsoft.Sharepoint.SPContentTypeId($ctid)
$contentType = $web.ContentTypes[$contentTypeId]
$contentType.NewFormUrl = "_layouts/CustomNewDocset/CustomNewDocset.aspx"
$contentType.Update()
$web.Dispose()
$site.Dispose()
Après avoir exécuté le script Windows PowerShell, SharePoint Server crée une page d’ensemble de documents personnalisée et affecte la nouvelle page comme valeur de la propriété newFormUrl. Lorsque vous utilisez la liste déroulante Nouveau document dans une bibliothèque de documents pour créer un ensemble de documents, la page personnalisée s’affiche.
Voir aussi
Tâches
Procédure : Créer un formulaire d’ensemble de documents