gpt4 book ai didi

sitecore - 无法更改项目的显示名称,为什么?

转载 作者:行者123 更新时间:2023-12-02 21:17:19 25 4
gpt4 key购买 nike

我正在运行 Sitecore 7.2,并且我绝对无法更改许多项目的 DisplayName

许多不会给我带来任何麻烦,我使用界面更改了它们的名称,并且它们的新 DisplayName 立即生效(例如,我可以在内容编辑器中看到它)。然而,对于一些选定的项目,当我点击“保存”按钮时,更改就会恢复。

我尝试使用代码更改 DisplayName,但无济于事:

{
using (new SecurityDisabler()) {
item.Editing.BeginEdit();
try {
item.Appearance.DisplayName = newName.Trim();
} catch (Exception e) {
e.Data.Add(<my stuff>);
throw;
} finally {
item.Editing.EndEdit();
}
}
}

同样,新的 DisplayName 会立即反转。是否有一个触发器修改了 EndEdit() 上的项目?如果是,我该如何仔细检查?

最佳答案

当 Sitecore 变得像这样时髦,并且似乎保存一个字段值但显示另一个字段值时,根据我的经验,在许多情况下它可以归结为字段值 SQL 表中的“幽灵”值。发生这种情况的方法有很多,但如果您有数据库访问权限,检查起来很简单。

尝试:

SELECT *
FROM [your db].[dbo].[VersionedFields]
WHERE ItemId = 'one of your funky items'
AND FieldId = '{B5E02AD9-D56F-4C41-A065-A133DB87BDEB}'

SELECT *
FROM [your db].[dbo].[SharedFields]
WHERE ItemId = 'one of your funky items'
AND FieldId = '{B5E02AD9-D56F-4C41-A065-A133DB87BDEB}'

由于 __Display Name 既不是版本化的也不是共享的,因此这些查询不应出现任何结果。但如果我是对的,就会发生一些事情 - 你应该继续删除这些行。

自然,当直接干扰 Sitecore 数据库时,通常的条款和条件适用。之前备份等等。

关于sitecore - 无法更改项目的显示名称,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29850067/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com