自定义sharepoint中某些页面的快速启动项

问题描述 投票:0回答:2

我有一个要求客户想要在快速启动中仅为某些页面自定义项目。所以,我想在快速启动中更改几个页面的其他项目。(不是关于快速启动的风格。关于快速启动中的内容替换)

我希望使用CEWP,我可以做到这一点。但我不太清楚如何做到这一点。

sharepoint sharepoint-2010 quicklaunch cewp
2个回答
1
投票

您可以在此处使用两种方法:

1)创建一个webpart来替换quicklaunch:这样你就可以从SPWeb中读取导航,并自己构建它。

2)使用jQuery更改加载页面的html。在这种方法中,我将应用'display:none'来快速启动,在html中进行更改,然后'display:block'返回。此解决方案中的骗局是您必须依赖项目的名称/标题/网址,因此如果管理员更改,则可能会破坏它。


1
投票

我已经按照以下步骤来实现目标

1 ..在页面中添加了CEWP

  1. 使用Follow脚本创建了一个文本文件,并将其添加到shred文档中
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
 <script type="text/javascript">
  function startClock(){

    var div= document.getElementById('s4-leftpanel-content');

   var spans= div.getElementsByTagName('span');

 for (index = spans.length - 1; index >= 0; index--) {
 spans[index].parentNode.removeChild(spans[index]);

 }

 var urls= div.getElementsByTagName('a');  
 for (index = urls.length - 1; index >= 0; index--) {
  urls[index].parentNode.removeChild(urls[index]);
 }

  var pTag = document.createElement('p');
 pTag.innerHTML = "HR Report";
    div.appendChild(pTag);

   var aTag = document.createElement('ul');
   div.appendChild(aTag);

  var newLi = document.createElement('li');
   aTag.appendChild(newLi);

   var a= document.createElement('a');
    a.setAttribute('href',"url");
    a.innerHTML = "report2";
   newLi.appendChild(a);

//do onload work
  }
   if(window.addEventListener){
   window.addEventListener('load',startClock,false); //W3C
    }
    else{
 window.attachEvent('onload',startClock); //IE
}
</script>

enter code here

  1. 将网址文本文件粘贴到CEWP中的共享文档中作为内容链接(编辑网页部件>>内容链接>>粘贴网址)

现在,将删除“快速启动”中的现有项目并添加新项目

© www.soinside.com 2019 - 2024. All rights reserved.