none
Intégration du site map path dans une application page RRS feed

  • Question

  • Bonjour.

    J'ai créé une application page. C'est page est déployée par une feature qui la rend accessible via plusieurs liens :

    - Dans la page Site settings

    - Dans la page List settings

    Je n'arrive pas a intégrer le site map path en haut de la page (Je parle de l'arborescence dynamique qui permet d'arriver à la page. Ex : Site > List > Settings > Page)

    En explorant des pages sharepoint située au même niveau d'arborescence, j'ai constaté que ce controle doit être intégré dans le PlaceHolderTitleAreaClass.

    J'ai lu sur des sites qu'il faut construire à la main un fichier xml et ensuite utiliser un controle ASPX standard pour intégrer cette navigation.

    Je suis persuadé qu'il existe un autre moyen.

    Pour exemple, vous pouvez prendre la page accessible en cliquant sur list parameters, puis Permissions for list. En haut dans la partie bleu (on peut voir l'arborescence qui permet d'acceder a cette page). Je souhaite obtenir le même résultat.

     

    jeudi 15 avril 2010 08:45

Toutes les réponses

  • Je comprends votre doute, mais si vous utilisez un contrôle qui ne se base pas sur le sitemap, vous aurez tôt ou tard un écart entre la navigation attendue et celle du site.

    Le plus simple pour gérer le fil rouge (ou breadcrumb), c'est de conserver le contrôle existant et d'ajouter un node au fichier .sitemap situé dans le répertoire bin de l'application web concernée (ne touchez pas celui situé dans le répertoire 12\TEMPLATE\LAYOUTS\). La marche à suivre est indiquée sur ce blog : http://weblogs.asp.net/jan/archive/2008/04/16/adding-breadcrumb-navigation-to-sharepoint-application-pages-the-easy-way.aspx.


    Sébastien PICAMELOT - http://blogs.developpeur.org/gribouillon
    jeudi 15 avril 2010 13:09
    Modérateur
  • J'ai exploré la solution que vous me conseillez.

    D'après ce que j'ai compris il est nécessaire de créer un nouveau fichire xml contenant une entrée pour la page.

    Le problème est que ma page est accessible à partir de plusieurs endroits du site. Ainsi, l'url de la parente n'est pas toujours la même.

    N'y a t il pas un moyen générique ?

     

    A défaut de pouvoir avoir le site map path, je voulais simplement un lien go back top revious page. Mais lorsque je regarde dans el code de ma page, il m'a impossible de récupérer l'adresse de provenance.

    Est-ce normal ? Comment puis générer ce lien automatiquement ?

     

    Merci pour vos réponses.

     

    lundi 19 avril 2010 08:56
  • Il y a plusieurs pages dans SharePoint qui à la fois :

    • Sont accessibles depuis plusieurs endroits
    • Présentent un breadcrumb
    Ces pages ne montrent pas la page d'origine dans le breadcrumb, mais le rattachement logique de la page. Par exemple, si votre page est une page de paramétrage, sa place sera très probablement sous "Settings", même s'il est possible d'accéder à la page depuis plusieurs endroits (le rattachement doit être prioritairement sémantique, pas technique).

    C'est le comportement by-design dans SharePoint, et je vous recommande de rester sur ce modèle pour préserver une harmonie dans votre navigation. Si toutefois vous souhaitez avoir votre propre gestion, il vous faudra développer un contrôle spécifique et l'incorporer à votre page (développement ASP.Net classique).


    Sébastien PICAMELOT - http://blogs.developpeur.org/gribouillon
    lundi 19 avril 2010 09:58
    Modérateur
  • Je reviens sur ce que j'ai dit : conservez le SiteMap existant. Dans le Page_Load de votre page applicative il vous est possible de gérer l'événement SiteMapResolve de votre SiteMap. Vous pouvez donc ajouter automatiquement le lien vers votre page dans le breadcrumb.

    Le détail de cet événement est disponible sur le MSDN : http://msdn.microsoft.com/en-us/library/ms178425.aspx


    Sébastien PICAMELOT - http://blogs.developpeur.org/gribouillon
    mercredi 21 avril 2010 22:51
    Modérateur