2009-08-31 9 views
0

Je crée de nouvelles définitions de site en utilisant cette méthode:SharePoint Définition du site Fichiers - Page est toujours nommé « Home »

http://weblogs.asp.net/paulballard/archive/2007/04/09/creating-a-custom-sharepoint-2007-portal-site-definition-using-the-portalprovisioningprovider-class.aspx

et quand ils sont créés, ils ne sont pas en utilisant le « Titre "du Site comme je m'y attendais, à la place ils disent tous" Home ".

Dans mon SiteTemplates/customsite/fichier Onet.xml J'utilise les éléments suivants:

<Module Name="LifeWork" Url="$Resources:cmscore,List_Pages_UrlName;" Path=""> 
     <File Url="default.aspx" Type="GhostableInLibrary" Level="Draft"> 
     <Property Name="Title" Value="$Resources:cmscore,IPPT_HomeWelcomePage_Title;" /> 
     <Property Name="PublishingPageLayout" Value="~SiteCollection/_catalogs/masterpage/LifeWork.aspx, Life &amp; Work Page Layout" /> 
     <Property Name="ContentType" Value="LifeWork" /> 
     <Property Name="PublishingAssociatedContentType" Value=";#NibrLifeWork;#0x010100C568DB52D9D0A14D9B2FDCC96666E9F2007948130EC3DB064584E219954237AF3900B92C2841B98136F108;#" /> 
     </File> 
    </Module> 

Je vois qu'il est tirer Accueil du fichier de ressources, mais je pense qu'il faut aussi ajouter le titre de le site dans le titre de la page. Est-ce correct?

Répondre

1

Eh bien, cela dépend comment la page est conçue. Si vous regardez la page LifeWork.aspx il y aura un contentplaceholder pour le titre. Basé sur la valeur que vous placez là votre page aura cette valeur. Par exemple, quelques pages ont le

<SharePoint:FieldValue ID="x" FieldName="Title" ....... 

Certains ont un nom de site qui leur est associé. Regardez dans cette étiquette, vous pouvez obtenir ce que vous voulez.

0

Pour votre information, je liquidée redéfinissant la ItemCreateEventHandler:

public class ItemCreateEventHandler: SPItemEventReceiver { override void publique ItemAdded (propriétés SPItemEventProperties) {{ essayer SPFILE = properties.ListItem.File; SPWeb web = propriétés.OpenWeb();

  PublishingWeb pubweb = PublishingWeb.GetPublishingWeb(web); 
      if (file.UniqueId == pubweb.DefaultPage.UniqueId) 
      { 
       if (file.Title != pubweb.Title) 
       { 
        file.CheckOut(); 
        file.Item["Title"] = pubweb.Title; 
        file.Item.Update(); 
        file.CheckIn(""); 
       } 
      } 
      web.Dispose(); 
      pubweb.Close(); 
     } 
     catch { } 
    } 
} 
Questions connexes