2010-10-28 6 views
4

Utilisation de Sharepoint Foundation 2010 J'ai modifié v4.master, ajouté une référence à un nouveau fichier CSS, enregistré les modifications et les appliquer au site d'accueil sans problème. Cependant, lorsque je crée un sous-site, il utilise l'ancienne version de v4.master pour une raison irritante. Je suis vaguement conscient que certaines fonctions de publication de SPS ne sont pas incluses dans SPF, donc beaucoup de conseils en ligne ne sont pas pertinents (?)Pages maîtres Sharepoint Foundation sur les sous-sites

S'il existe un moyen de faire hériter de nouveaux sous-sites le nouveau V4.master Je serais très reconnaissant.

+0

Je voudrais savoir comment vous éditez V4.master et utilisez-vous des modèles de site ou des définitions de sites personnalisés pour créer de nouveaux sites? –

+0

J'édite v4.master avec Sharepoint Designer 2010. Je n'utilise pas les modèles de site ou les définitions de site personnalisées, devrais-je être? – user219313

Répondre

0

Si vous souhaitez que la racine de la collection de sites puisse être héritée par des sous-sites, il est préférable d'utiliser un modèle de site de publication.

Vous pouvez ensuite accéder à: /_Layouts/ChangeSiteMasterPage.aspx et spécifier votre page maître personnalisée et l'avoir héritée par tous les sous-sites.

0

Il est probablement trop tard pour vous faire du bien, mais peut-être que cela profitera à d'autres. J'ai découvert que si vous ne renommez pas la page maître personnalisée en autre chose que v4.master, les sous-sites n'hériteront pas de la version personnalisée de v4.master mais utiliseront à la place le v4.master original non personnalisé. Assurez-vous donc de faire une copie de v4.master et de la renommer. Voici quelques pas de [mon blog], voici comment je l'ai fait:

  1. Faites un clic droit sur v4.master et sélectionnez « Rétablir la définition du site » et le v4.master d'origine sera restauré, et SPD 2010 créera automatiquement une page v4_copy (1) .master (capture d'écran 14).
  2. Archiver custom.master, publier une version majeure et approuver le fichier
  3. Allez dans Actions du site> Paramètres du site> Pages maîtres et sélectionnez la nouvelle page maître, custom.master, à la fois pour la page maître du site et le système. Master Page, et cochez la case 'Réinitialiser tous les sous-sites pour hériter de cette autre URL CSS' (capture d'écran 15)
  4. Maintenant, si vous avez oublié d'activer la fonction de publication pour votre nouveau sous-site avec le modèle Site d'équipe, il n'héritera pas. la page custom.master encore, alors allez dans Actions du site> Paramètres du site> Gérer les fonctionnalités du site et activer la fonction de publication (capture d'écran 16)
  5. Dès que la fonctionnalité est activée, vous devriez voir la nouvelle page maître et ses styles (capture d'écran 17)
+0

OP a demandé la Fondation. –

2

Ceci est uniquement possible avec un WSP personnalisé ou un HttpModule, les deux nécessitant un code .NET. Les versions Server de SharePoint gérer cela facilement avec l'option Masterpage, une recherche rapide sur Google pour "solution fondation masterpage" a donné de bons résultats, notamment:

http://blog.thedesigndrifter.com/?p=1112

http://rickhilferink.wordpress.com/2011/01/25/creating-a-sharepoint-2010-foundation-masterpage-solution-and-automatically-activate-it-for-all-sites-and-newly-created-subsites/

0

Je résolu ce problème en créant de nouvelles une définition de site personnalisée par Visual Studio et SharePoint Site Definition. J'ai ajouté une fonctionnalité qui ajoute mon masterpage personnalisé (sous la direction de v4.master) dans la galerie de masterpage de collection de sites (_catalogs/masterpage):

<Module Name="MasterPageModule" RootWebOnly="FALSE" List="116" Url="_catalogs/masterpage" > 
<File Url="mymasterpage.master" Path="MasterPageModule\mymasterpage.master" IgnoreIfAlreadyExists="TRUE" Type="GhostableInLibrary"> 
    <Property Name="ContentTypeId" Value="0x010105"/> 
</File> 

La principale chose à obtenir le même masterpage pour tous les sites est de définir MasterPageFile -property dans Default.aspx comme ceci: MasterPageFile = "~ sitecollection/_catalogs/masterpage/monmasterpage.master" - cela fait toujours référence au niveau de la collection rootsitecollection.

Je pense que la même chose peut être obtenue en utilisant la méthode FeatureActivated, mais cela n'a pas fonctionné dans mon cas, je ne sais pas pourquoi.

Questions connexes