Je travaille sur un commutateur de modification/affichage de MasterPage et PageLayout. J'ai déjà posé une question à ce sujet (How to dynamically switch PageLayout and MasterPage of SharePoint Publishing page?). La plus belle approche semble être un HttpModule où passer MasterPage et PageLayout pour éditer des variantes spécifiques. La commutation MasterPage ne pose aucun problème, mais la commutation PageLayout génère une erreur.SharePoint: commutation temporaire PageLayout de PublishingPage dans HttpModule échoue
Répondre
J'ai trouvé la réponse définitive! Tout fonctionne maintenant! Le problème était qu'après avoir publié le mauvais article est mis en cache. J'ai vidé l'objet de la cache et tout fonctionne maintenant. Aussi fait beaucoup de réécriture sur le code. Je suis en train de créer un paquet WSP avec une fonction d'activation, préparant le code pour la publication sur codeplex. Je mettrai à jour ce post dès que le code sera publié.
J'ai trouvé la solution. Je dois mettre à jour l'élément de liste, sinon l'exécution de l'url survient. Ce n'est pas comme la mise à jour temporaire de l'URL maître dans le web, je dois mettre à jour l'élément de la liste. Peu importe, il existe une bonne variante SystemUpdate (false) qui ne fait aucune version. J'ai fait d'énormes réécritures, mais je ne l'ai toujours pas complètement retravaillé. Parfois, le mode d'édition utilise encore l'affichage pagelayout, et je ne peux pas trouver pourquoi. Est-ce que quelqu'un ose aider à déboguer cela. Si cela fonctionne nous avons quelque chose d'intéressant je pense. Séparation complète des pages maîtres et pagelayouts d'édition et d'affichage. La chose étrange est que le pagelayout utilisé est à la traîne. Je reçois parfois un affichage pagelayout en mode édition, et un pagelayout d'édition en mode affichage.
Je me demande ce qui porte un toast à l'URL ici TemplateRedirectionPage.GetPathFromUrlValue (SPFieldUrlValue urlValue, CacheManager cm) – Nat