在SharePoint 2007母版页中隐藏占位符的正确方法?

时间:2009-09-24 14:43:25

标签: sharepoint sharepoint-2007 master-pages placeholder

我正在为一个客户端开发一个专门的MOSS实例,我想要做的是在母版页上隐藏元素。特别是,我想隐藏主要顶部导航栏,搜索功能以及显示在左上角的标签,告诉您所在站点的名称。所以我制作了default.master的副本,然后在SP Designer中我将这些块的占位符的可见属性设置为新主文件中的“false”。

然后我可以将主人分配到我的正常网站集没有问题,它似乎像我想要的那样工作。但是当我去查看系统页面(即任何表单或后端内容)时,它仍然使用旧的默认主页。当我尝试将系统母版页设置为我的自定义主文件时,我的MOSS实例抛出了一个File Not Found错误。然后管理区域的某些部分刚刚开始以相同的方式失败(即我将尝试进入网站设置 - >内容和结构,它也会抛出文件未找到错误)然后在某一时刻,整个网站集会抛出“未知错误”并且似乎没有办法恢复,除了恢复我运行MOSS以进行开发的VM的状态。

所以我很好奇,创建自定义母版页然后隐藏该页面上的元素的最佳方法是什么?我意识到我的网络集群没有设置正确的标志来实际显示我真正的ASP错误消息,所以当我回到家时,我将在今晚改变这一点,看看SP真正告诉我所有这些。我还读过,不建议更改application.master文件,但我想我可以为网站和系统母版页制作一个自定义页面而不用担心application.master。我一直在读一堆希瑟·所罗门的文章以及其他各种各样的东西。他们基本上都说可以隐藏主页上的元素,但不能完全删除它们,因为如果你这样做,SP就会破坏。是否建议使用JS / CSS hack手动隐藏元素,而不是实际制作新的母版页?

2 个答案:

答案 0 :(得分:2)

你创建了一个asp:占位符,其visible属性设置为false,并将要隐藏的内容占位符放在该容器中,我知道这很奇怪,但是它有用......至于你可能想要的system.master SharePoint使用的system.master的副本,然后以相同的方式更改该副本。

答案 1 :(得分:1)

非常感谢您发布此内容。奇迹般有效。我很害怕,因为每个人都说不要乱用Application.Master。我所做的只是用记事本打开它并添加Visible =“false”(我想隐藏topnavigation栏,因为我有自定义标签,根据用户的权限显示,由default.master中的代码控制。但是如果用户必须上传文件,upload.aspx使用application.master并显示所有选项卡。)

我只编辑了这一行:

wssuc:TopNavBar id="IdTopNavBar" runat="server" ShouldUseExtra="true" Visible="false"

像魅力一样!

请注意,以下页面也会受到影响: 网站设置 查看所有网站内容 文档库的工作流设置 回收站 搜索结果