子网站上的Sharepoint Foundation主页

时间:2010-10-28 13:49:49

标签: sharepoint sharepointfoundation2010

使用Sharepoint Foundation 2010我编辑了v4.master,添加了一个新的CSS文件的参考,保存了更改并将它们应用到主站点没问题。

然而,当我创建一个子网站时,它使用旧版本的v4.master是出于某种恼人的原因。我隐约知道SPS的一些发布功能不包含在SPF中,所以很多在线建议都不相关(?)

如果有办法让新的子网站继承新的V4.master,我将非常感激。

4 个答案:

答案 0 :(得分:2)

这仅适用于需要.NET代码的自定义WSP或HttpModule。 SharePoint的服务器版本使用Masterpage选项轻松处理此问题,快速谷歌搜索“基础母版页解决方案”给出了良好的结果,包括:

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/

答案 1 :(得分:0)

如果您希望能够在子网站继承的网站集根目录中拥有母版页,那么最好使用发布网站模板。

然后您可以转到:/ _ Layouts/ChangeSiteMasterPage.aspx并指定您的自定义母版页,并让它继承所有子网站。

答案 2 :(得分:0)

这可能为时已晚,无法让您受益,但也许这会让其他人受益。我发现,如果您不将自定义母版页重命名为v4.master之外的其他内容,则子网站不会继承v4.master的自定义版本,而是使用原始的非自定义版本v4.master。因此,请确保复制v4.master并重命名。以下是[我的博客文章]中的一些步骤,这就是我做到的:

  1. 右键单击v4.master并选择“重置为网站定义”,将恢复原始v4.master,SPD 2010将自动创建v4_copy(1).master页面(屏幕截图14)。
  2. 签入custom.master,发布主要版本并批准文件
  3. 转到网站操作>网站设置>母版页并为站点母版页和系统母版页选择新的母版页custom.master,并选中“重置所有子站以继承此替代CSS URL”复选框(屏幕截图15)
  4. 现在,如果您忘记使用团队网站模板为新的子网站激活发布功能,则它将不会继承custom.master页面,因此请转到网站操作>网站设置>管理网站功能并激活发布功能(屏幕截图16)
  5. 一旦激活该功能,您应该会看到新的母版页及其样式(屏幕截图17)

答案 3 :(得分:0)

我通过Visual Studio和SharePoint网站定义创建新的自定义网站定义来解决此问题。我添加了一个功能,添加了我的自定义母版页(从中编辑) v4.master)进入网站集的主页库(_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>  

为所有网站获取相同母版页的主要方法是在Default.aspx中设置MasterPageFile -property,如下所示: MasterPageFile =“~sitecollection / _catalogs / masterpage / mymasterpage.master” - 这总是指rootsitecollection级别。

我认为同样的事情可以通过使用FeatureActivated方法来实现,但它在我的情况下没有用,不知道为什么。