最近有个项目,总体构架设计如:首先有一个clients网站,然后clients下面有很多client网站,每个client下面又会有很多brands(品牌)。当用户进入brand网站时,发现一个奇怪的现象:左边导航不仅显示当前client下的所有brand,同时也显示其他client下面的brand连接,不知道这是不是sharepoint的bug。我想可能MS就这么设计的。你会发现,我选择的网站是:Pfizer下面的Aricept,但Wyndham下面的所有brands也被展开了
这种情况,客户不希望的。客户希望只想展开当前被选中的client。
开发困惑:我想既然是导航,我可以尝试重新写 SPNavigationPriver ,PortalSiteMap, SiteMap atc...,我发了几个小时徒劳无功,后来我想到JS,但是用JS不知道如何下手。正在困惑中,我突然想到JQuery,虽然这个技术很早就出现了,但一直没有机会去尝试。于是查查资料,终于通过JQuery解决了这个问题。
解决步骤如下:
首先去下载JQuery,然后拷贝它到_layouts/JQuery文件夹(没有Jquery,创建一个)然后编辑Master page,找到</form> 标记,然后把下面code加入到这个标记上面。
OK,再次打开网站,你会发现上面的问题被解决了