使用Sharepoint Foundation 2010我编辑了v4.master,添加了一个新的CSS文件的参考,保存了更改并将它们应用到主站点没问题。
然而,当我创建一个子网站时,它使用旧版本的v4.master是出于某种恼人的原因。我隐约知道SPS的一些发布功能不包含在SPF中,所以很多在线建议都不相关(?)
如果有办法让新的子网站继承新的V4.master,我将非常感激。
答案 0 :(得分:2)
这仅适用于需要.NET代码的自定义WSP或HttpModule。 SharePoint的服务器版本使用Masterpage选项轻松处理此问题,快速谷歌搜索“基础母版页解决方案”给出了良好的结果,包括:
答案 1 :(得分:0)
如果您希望能够在子网站继承的网站集根目录中拥有母版页,那么最好使用发布网站模板。
然后您可以转到:/ _ Layouts/ChangeSiteMasterPage.aspx并指定您的自定义母版页,并让它继承所有子网站。
答案 2 :(得分:0)
这可能为时已晚,无法让您受益,但也许这会让其他人受益。我发现,如果您不将自定义母版页重命名为v4.master之外的其他内容,则子网站不会继承v4.master的自定义版本,而是使用原始的非自定义版本v4.master。因此,请确保复制v4.master并重命名。以下是[我的博客文章]中的一些步骤,这就是我做到的:
答案 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方法来实现,但它在我的情况下没有用,不知道为什么。