2009-06-23 3 views
1

Édité fortement - Question d'origine ci-dessous."Personnaliser cette page" modifications sur Personal View ne pas enregistrer - sharepoint

J'ai une liste personnalisée (installée à partir d'une fonctionnalité) qui est essentiellement un calendrier. Les vues par mois, par semaine et par jour tirent parti d'un composant WebPart personnalisé qui injecte du javascript dans la page afin d'ajouter des couleurs d'arrière-plan.

Les utilisateurs qui souhaitent ajouter une vue personnelle peuvent le faire, mais les nouveaux affichages personnels n'auront pas le composant WebPart de coloration personnalisé sur la page par défaut. L'utilisateur peut sélectionner "Personnaliser cette page" dans le menu de bienvenue et ajouter la partie Web, mais en cliquant sur "Quitter le mode d'édition", la partie Web disparaît.

Pourquoi cela se produit-il et comment le faire fonctionner? J'ai un composant WebPart personnalisé qui injecte des balises de script sur la page. Ce composant WebPart est destiné à être utilisé dans la liste Calendrier personnalisée pour donner des couleurs d'arrière-plan aux événements de diverses catégories (un champ personnalisé). Cela fonctionne très bien sur les vues partagées, pas du tout sur les vues personnelles.

Si je crée une vue personnelle et la base de l'affichage Calendar.aspx par défaut, puis sélectionnez «Modifier cette page» dans le menu Actions du site, le calendrier disparaît. Si j'ajoute le composant WebPart personnalisé à la page et que vous sélectionnez "Modifier ce composant WebPart", j'obtiens le message "Un composant WebPart que vous avez tenté de modifier est non valide ou a été supprimé par un autre utilisateur".

Est-il possible d'ajouter des composants Web aux vues personnelles? Y a-t-il un meilleur moyen d'obtenir cette coloration d'arrière-plan personnalisée? MISE À JOUR: L'URL d'une vue personnelle ressemble à ceci: .../Listes/CalendarName/PersonalViews.aspx? ShowWebPart = {GUID}. Si je supprime la chaîne de requête, aucun calendrier ne s'affiche, mais si j'inspecte le contenu de la page, la partie Web est en réalité du contenu de rendu! Il ne rend pas si ShowWebPart = {GUID} est présent. En utilisant le débogueur, je vois qu'il ne charge pas du tout autant que je peux le dire.

MISE À JOUR 2: Plus d'étrangeté. Si je personnalise cette page en sélectionnant "Personnaliser cette page" dans le menu de bienvenue, cela me permet d'ajouter mon composant WebPart personnalisé, et ce n'est pas grave tant que je clique sur "Quitter le mode Edition" et que ma partie Web personnalisée disparaît.

Répondre

1

Créez votre point de vue, faites-le personnalisé.

Personnalisez la page en ajoutant votre composant WebPart.

Puis quittez le mode d'édition. Dans la chaîne de requête, supprimez la pièce &ShowWebPart=GUID. Votre partie Web personnelle devrait apparaître.

Les vues personnelles ont chacune un GUID. Le sélecteur dans une vue de liste utilise la chaîne de requête pour afficher la vue à afficher, d'où le paramètre ShowWebPart. Je ne crois pas qu'il y ait un moyen de passer outre le comportement dans le sélecteur de liste à pas utiliser ce paramètre ShowWebPart, sans grand effort.

+0

Si je sélectionne une vue différente, puis revenez à ma vue personnelle, le "& ShowWebPart = GUID" est là. Huer. – Chloraphil

+0

mettre un lien sur la barre de navigation sur la gauche de la page sans le GUID dans la chaîne de requête. Permanence FTW. –

+0

ce n'est pas très pratique pour les utilisateurs – Chloraphil

Questions connexes