65.9K
CodeProject 正在变化。 阅读更多。
Home

SharePoint 定制技巧 – 第 3 部分

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.20/5 (4投票s)

2009年1月31日

CPOL

2分钟阅读

viewsIcon

53103

downloadIcon

135

技巧 #4:重命名列表表单工具栏项!

引言

这系列文章旨在帮助您快速上手 SharePoint 定制。它涉及修改默认 SharePoint 用户体验、列表表单定制、品牌化、SharePoint 门户的皮肤设置等。

第一部分 中,我介绍了一个通用的函数,您可以使用它来隐藏列表视图工具栏菜单项(例如,新建项目、上传、网格视图中编辑等)。在 第二部分 中,我向您展示了如何从列表表单工具栏中删除项目。如果您还没有阅读这两篇文章,我建议您先阅读它们 (http://www.ayman-elhattab.blogspot.com)。

在发布前几篇文章后,我收到了很多来自 SharePoint 用户的邮件,询问如何重命名列表表单工具栏中的项目。因此,我决定撰写本系列文章的第三部分。在完成文章并拍摄一些截图后,另一位 SharePoint 用户在 MSDN 论坛上询问是否可以删除文本,同时保留图像,例如删除“删除项目”同时保留其旁边的 (X) 图标。今天,我将向您展示如何使用 JavaScript 完成这两项任务。

让我们开始吧!

技巧 #4:重命名列表表单工具栏项目!

有时,您需要重命名 DispForm.aspx 顶部呈现的工具栏中的某些项目,以匹配列表名称。例如,您有一个名为“Programs”(课程)的自定义列表,用于存储大学提供的课程。最好使用“新建课程”而不是默认的“新建项目”,以及“编辑课程”而不是“编辑项目”。有时,您只需要完全删除文本,只留下带有工具提示的图像,该工具提示解释了单击它们时执行的操作。

以前

trick4_be4.JPG

操作后

trick4_after.JPG

以下函数可以用来实现这两项任务,只需调用该函数并传递项目的旧名称和新名称即可。例如,如果您需要将“添加项目”重命名为“添加课程”,请使用 renameFormMenuItems("添加项目","添加课程");。如果您需要删除文本并保留图像,请将空字符串作为新名称传递给函数,如下所示:renameFormMenuItems("删除项目","");

renameFormMenuItems("New Item","New Program");
renameFormMenuItems("Edit Item","Edit Program");
renameFormMenuItems("Delete Item","");
function renameFormMenuItems(oldName,newName)
{ 
 var anchorTag;
 var allAnchorTags = document.getElementsByTagName('a');    
 
 if(oldName.length!=0)
 { 
  for (var j = 0; j < allAnchorTags.length; j++)
  {
   anchorTag= allAnchorTags[j];    
 
   if (anchorTag.innerText.indexOf(oldName)!=-1)
   {                   
      
     anchorTag.innerText=newName; 
     try
     {
      if(newName.length!=0)
       {              
    anchorTag.parentNode.previousSibling.firstChild.
          firstChild.alt=newName;      
      }
      else
      {
         anchorTag.parentNode.previousSibling.firstChild.
    firstChild.alt=oldName;     
      }
     }
     catch(err)
     {
     }          
   }     
  }
 }
}

请注意,该函数区分大小写,因此“New Item”(新建项目)有效,而“nEw iTeM”无效。

简单易懂,不是吗?

现在,一个问题浮出水面,我们如何使用这个函数?答案是 内容编辑器 Web 部件;有关更多信息,请参阅上一篇文章中的 技巧 #3

隐藏整个工具栏呢?

trick4_remove.JPG

有很多解决方案涉及使用 SharePoint Designer 取消“幽灵化”页面,但我不太喜欢这些解决方案!再次强调,让我们使用 JavaScript 来执行此任务。我在 zip 文件中包含了两个函数,一个用于重命名工具栏项目,另一个用于完全隐藏工具栏!期待您的反馈。

历史

  • 2009年1月31日:初始发布
SharePoint 定制技巧 - 第三部分 - CodeProject - 代码之家
© . All rights reserved.