列表标题更改名称?如何将其改回?

3
在SharePoint 2013中创建自定义或新列表,然后进入添加项目页面时,它显示的是“Last Name”,而不是以前所说的“Title”。是否有办法将其改回原来的样子?如果可以,我该怎么做?
请参见下面的示例。图1显示了应该如何,但图2显示了实际情况。
我知道我可以手动将其更改回“Title”,但我希望在创建列表时自动将其更改回“Title”而不是“Last Name”。我已经搜索了Google,但尚未找到解决方案。
图1(应该的样子): This is how it should look 图2(实际的样子): Title column changed to Last Name automatically
1个回答

1
看起来标题的站点列(作为基础项目内容类型的一部分)被重命名为“姓氏”。
例如,如果您转到网站设置->网站内容类型->项目(在列表内容类型下)->标题(在列下)->编辑站点列,则可能会发生这种情况。
不幸的是,通过界面将标题字段的显示名称更改回“标题”非常困难,因为SharePoint坚持认为标题字段名称是保留的(并且没有明确意识到您正在尝试修复的是标题字段)。
如果您可以远程访问服务器,则可以使用PowerShell和SharePoint服务器对象模型来重命名该字段。
例如:
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
$siteurl = "URL of top-level site"
$site=new-object Microsoft.SharePoint.SPSite($siteurl)
$web=$site.OpenWeb()
$field=$web.Fields.GetFieldByInternalName("Title")
$field.Title = "Title"
$field.Update()
$web.Dispose()
$site.Dispose()

否则,您可以使用JavaScript完成同样的操作。在受影响的网站集合中查看网站时,打开F12开发人员工具JavaScript控制台,并执行以下脚本来重命名标题:
var context = new SP.ClientContext("/serverRelativeUrlOfRootWeb");
var field = context.get_web().get_fields().getByInternalNameOrTitle("Title");
field.set_title("Title");
field.update();
context.executeQueryAsync(
    function(){
        alert("Field renamed successfully.");
    },
    function(sender,args){ 
        alert(args.get_message());
    }
);

/serverRelativeUrlOfRootWeb替换为站点集的根网站的服务器相对URL,以便重命名需要的字段。


谢谢您,Thriggle,那太完美了!我使用F12开发工具打开了JavaScript控制台,更改了相对URL,结果奏效了! - James RL

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接