Question

Dans un site d'édition, je veux créer un webpart afficher le résultat d'une requête avec un affichage personnalisé (une sorte de rotateurs).

Comme l'objectif de la partie web est d'être réutilisable et doit être tout simplement configurable par l'utilisateur, je me demande quels sont les avantages et les inconvénients des approches suivantes:

  • partie Web personnalisé qui produit le code HTML d'une manière « codée en dur ». Ajouter volet d'outils pour permettre à l'utilisateur de données de configuration
  • une partie de bande de requête de contenu avec une transformation XSLT
  • partie web silverlight avec un volet d'option personnalisée dans le webpart

Je me sens la 2ème solution peut être mieux parce que la configuration complète du webpart est déjà là, mais je crains un peu xslt sera très douloureux.

Merci d'avance pour vos retours

Était-ce utile?

La solution

Ne pas avoir peur de XSLT. Cela va vous donner une énorme quantité d'énergie sans avoir à développer ou quoi que ce soit Déployez en échange d'un peu d'effort pour le comprendre. Je recommande toujours commencer par une transformation d'identité afin que vous puissiez voir le XML qui vient dans, puis commencer à ajouter des modèles pour traiter les noeuds qui vous intéressent.

Visual Studio a un grand outillage pour travailler avec XSLT. Vous pouvez créer un XSLT intitial avec une transformation d'identité, puis l'utiliser pour transformer un fichier XML source (correspondant à vos données de liste). Vous pouvez alors commencer la transformation en mode débogage et points d'arrêt et pas dans votre XSLT.

Cela dit, il y a des cas où l'écriture d'une partie Web personnalisée est logique. Il peut y avoir quelque chose que vous avez besoin que CQWP ne peut pas faire, ou la solution CQWP peut être très alambiquée dans certains cas. C'est quelque chose que vous devez décider de comprendre le problème. Mais ne pas éviter CQWP à cause de XSLT.

Autres conseils

Pour votre cas, à savoir l'affichage des résultats avec affichage personnalisé, je recommande deux options:

  1. Transformer les résultats sur le côté client, par exemple si vous utilisez une sorte de plugin jQuery pour Rotator, il serait possible d'initialiser des données de résultats pour Rotator avec jQuery.
  2. L'option avec l'extension du CQWP, dans ce cas, vous pouvez personnaliser le rendu des résultats, par exemple, voir mon blog rendu contenu des résultats de requête WebPart dans le tableau mise en page sur la façon d'organiser les éléments dans la mise en page Plain Old Table au lieu de la liste mise en page

Une autre option, l'expansion du projet de loi (SPDoctor) de réponse, est d'étendre la CQWP, en créant une nouvelle classe pour votre part Web héritant de ContentByQueryWebPart.

Cela vous permettra d'ajouter plus d'options à la palette d'outils pour contrôler la logique, ainsi que de faire des méthodes personnalisées disponibles dans votre XSLT, que vous pouvez écrire « code-behind » dans la classe de votre webpart.

Waldek Mastykarz a couvert cela dans une série d'excellents messages de blog sur ce site: http://blog.mastykarz.nl/extending-content-query-web-part-with-custom-data/

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top