SUPINFO International University

SUPINFO Institute of Information Technology
Laboratoire Microsoft




Tous les Articles du Laboratoire Microsoft

Mettre en place un modèle de site Windows SharePoint Services
Accueil > Articles > Développement
Auteurs 
Nicolas VIEL
LABORATOIRE SUPINFO DES TECHNOLOGIES MICROSOFT
Consulting


 Tous les articles de cet auteur

1,4/5

Mauvais


79289
135/190

4. Remplacer des contrôles, spécialisation avancée du site

L’avantage de remplacer des contrôles Sharepoint par ses propres contrôles est de pouvoir ajouter des fonctionnalités qui ne sont pas présentes dans les sites Sharepoint Services par défaut. Cela peut être :

  • L’ajout d’un fils rouge pour la navigation inter-site.
  • La modification de la barre de navigation rapide.
  • La personnalisation avec l’ajout de fonctions dans la barre contextuelle des listes.
La création de tels contrôles se base sur l’utilisation de contrôles web personnalisés ainsi que sur le modèle objet Sharepoint. Il est préférable de ne pas utiliser de contrôles web utilisateur car ces derniers nécessitent l’utilisation d’un fichier ascx en plus d’une l’assemblie.

Exemple de création d’un fils rouge

Voici par exemple comment créer simplement un fil rouge de navigation entre les sites Sharepoint :

/// <summary>
///
File rouge pour accéder au site
///
</summary>
public
class SiteLinkBar : System.Web.UI.WebControls.WebControl
{
       private string GetErrorTable(Exception e)
       {
             System.Text.StringBuilder sb = new System.Text.StringBuilder();
             sb.Append("<table width=100% bgcolor=lightgrey border=\"solid 1px\">");
             sb.Append("  <tr>");
             sb.Append("         <td valign=top style=\"border: solid 0px;font:normal
8pt Verdana\">");
             sb.Append("               "+ e.ToString() + "<br/>");
             sb.Append("         </td>");
             sb.Append("  </tr>");
             sb.Append("</table>");
 
             return sb.ToString().Replace("\t", " ");
       }
 
       protected override void Render(HtmlTextWriter output)
       {
             try
             {
                    SPWeb web = null;
                    SPSite site =
Microsoft.SharePoint.WebControls.Navigation.GetContextSite
(System.Web.HttpContext.Current);
                    web = site.OpenWeb(this.id);
 
                    string str = "<a href=\""+web.Url+"\"><u>"+web.Title+"</u></a>";
                    while(!web.IsRootWeb)
                    {
                           web = web.ParentWeb;
                           str = "<a href=\""+web.Url+"\"><u>"+web.Title+"</u></a>" + "&gt; " + str;
                    }
 
                    output.Write("<div class=\"ms-formdescription\">");
                    output.Write(str);
                    output.Write("</div>");
             }
             catch(Exception e)
             {
                    output.Write(this.GetErrorTable(e));
            
}
       }
}

Il faut ensuite l’ajouter à la page default.aspx de son modèle de site et éventuellement aux autres pages.

Cette capture d’écran montre le contrôle « fils rouge » vue plus haut, et un contrôle de menu personnalisé remplaçant le menu Sharepoint.

Ce « fils rouge » nous indique notre emplacement dans les sites Sharepoint. A travers cet exemple simple de manipulation du modèle objet de Sharepoint, on se rend vite compte des possibilités énorme que cela nous donne.

Ainsi, une façon d’étendre encore plus les possibilités des sites passe par la création de webparts. Pour plus de détails, vous pouvez vous reporter sur cet article.

Créer un contrôle pour l’en-tête des pages

L’une des possibilités les plus classiques de personnalisation est la mise en place d’un en-tête de page commun pour les modèles de site développé. L’en-tête peut alors regrouper des fonctionnalités générales, comme un logo, une barre de menu générique, une barre d’informations sur l’utilisateur courant, ainsi qu’une zone de saisie de recherche.

La barre pourra être hébergée dans l’en-tête personnalisé du site selon la méthode décrite plus haut dans l’article.

Une architecture d’en-tête de page peut être la suivante :

Dans ce modèle, les contrôles de l’en-tête ont des propriétés qui peuvent être configurées à partir de fichiers XML. Par exemple :

  • Le logo : lien de redirection lorsque l’on clique sur le logo
  • Barre de recherche : vers quelle page rediriger la recherche
  • Barre de menu : Configuration des éléments du menu. La configuration peut prendre en compte la mise en forme du texte à afficher, des liens relatifs, statiques, l’exécution de javascript . Ou encore des opérations plus complexe, comme l’affichage des sous-sites de premier niveau ou des menus visibles uniquement pour certaines catégories d’utilisateurs (administrateur, lecteur, visiteur, …).

Pour finir

Voici un exemple de modèle de site qui peut être obtenu en appliquant la plupart des points vus dans l’article:

Ce modèle de site prend en compte :

  • La personnalisation des configurations
  • L’utilisation d’un en-tête de pages personnalisées
  • L’utilisation d’une feuille de style
  • L’ajout de liste personnalisée
  • Le remplacement et l’ajout de contrôles web
Tout ceci permet d’obtenir des modèles de site spécifique et adapté à une utilisation donnée. Pour avoir d’autres exemples, à partir de ce lien, Microsoft propose librement un ensemble de modèle de site pour des applications métiers de base.



Sommaire

Introduction

1. Création d'un modèle simple
       1.1 Le fichier WEBTEMP.XML
       1.2 Le dossier du modèle de site
       1.3 Le fichier ONET.XML (les balises Configuration/Modules)
       1.4 Configurations du template
       1.5 Déploiement de WebPart

2. En tête de page et Charte graphique
       2.1 Ajouter un en-tête au template de site
       2.2 Ajout
       2.3 Remplacement
       2.4 Appliquer automatiquement une feuille de style

3. Créer et modifier les listes
       3.1 Modifier une liste existante
       3.2 Créer une nouvelle liste

4. Remplacer des contrôles, spécialisation avancée du site
       4.1 Exemple de création d’un fils rouge
       4.2 Créer un contrôle pour l’en-tête des pages
       4.3 Pour finir

Conclusion




En Savoir Plus 
Evaluez cet article 


Pour afficher ou poster un commentaire, cliquez sur ce lien : Forum-Microsoft



Retrouvez ci-dessous les autres sections du Laboratoire Microsoft

Définitions

Accès direct aux définitions :
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Effectuez une recherche dans les définitions :