2011-07-31 97 views
2

我有一个自定义网站定义,我创建的部署了几个自定义页面布局。有谁知道需要做什么,以便当用户使用我的网站定义创建网站时,他们的default.aspx页面是使用我的自定义页面布局创建的?调配default.aspx页面以使用自定义页面布局

下面是我的网站定义的模块部分:

<Modules> 
    <Module Name="DefaultHome" Url="$Resources:osrvcore,List_Pages_UrlName;" Path=""> 
     <File Url="default.aspx" Type="GhostableInLibrary" > 
     <Property Name="Title" Value="Test Home Page" /> 
     <Property Name="PublishingPageLayout" Value="~SiteCollection/_catalogs/masterpage/MyCustomPageLayout.aspx, My Custom PageLayout" /> 
     <Property Name="ContentType" Value="$Resources:cmscore,contenttype_welcomepage_name;" /> 
     <Property Name="PublishingPageContent" Value="Welcome to the My Test Publishing Site" /> 
     </File> 
    </Module> 
    </Modules> 

回答

0

在你ONET.XML文件,你需要设置DefaultPageLayout属性类似下面

<!-- Publishing Feature --> 
     <Feature ID="22A9EF51-737B-4ff2-9346-694633FE4416"> 
      <Properties xmlns="http://schemas.microsoft.com/sharepoint/"> 
      <Property Key="WelcomePageUrl" Value="$Resources:osrvcore,List_Pages_UrlName;/Default.aspx" /> 
      <Property Key="ChromeMasterUrl" Value="~SiteCollection/_catalogs/masterpage/MyMasterPage.master"/> 
      <Property Key="SimplePublishing" Value="True" /> 
      <Property Key="VersioningOnPages" Value="Major" /> 
      <Property Key="RequireCheckoutOnPages" Value="False" /> 
      <Property Key="AvailablePageLayouts" Value="~SiteCollection/_catalogs/masterpage/MyPageLayout.aspx:~SiteCollection/_catalogs/masterpage/MyPageLayout.aspx"/> 
      <Property Key="DefaultPageLayout" Value="~SiteCollection/_catalogs/masterpage/MyPageLayout.aspx"/> 
      <Property Key="AvailableWebTemplates" Value="ENTERWIKIRBKC#2;"/>      
      <Property Key="AllowSpacesInNewPageName" Value="false"/> 
      </Properties> 
     </Feature> 
+2

我能够得到它的工作。我不得不更新我的default.aspx页面,使其不包含任何内容占位符。 <%@ Page Inherits =“Microsoft.SharePoint.Publishing.TemplateRedirectionPage,Microsoft.SharePoint.Publishing,Version = 12.0.0.0,Culture = neutral,PublicKeyToken = 71e9bce111e9429c”%> <%@ Reference VirtualPath =“〜TemplatePageUrl” %> <%@参考VirtualPath =“〜masterurl/default.master”%> 此页最初是从WebPartPage继承的,因此无法应用页面布局。谢谢! – mawaru

+1

@mawaru:你应该为你的成功添加一个答案。然后,您可以接受它作为答案,并为此获得提升。 –

0

在SiteDefinition Default.aspx页由VS创建的继承自webpart页面。确保你删除了所有的代码并添加下面的代码。这对我有效。

<%@ Page Inherits="Microsoft.SharePoint.Publishing.TemplateRedirectionPage,Microsoft.SharePoint.Publishing,Version=14.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c" %> 
<%@ Reference VirtualPath="~TemplatePageUrl" %> 
<%@ Reference VirtualPath="~masterurl/custom.master" %>