1

首先,Umbraco 字典项目是否被缓存?如果是,您如何更改缓存设置?

其次,有什么方法可以用新的前缀重新生成现有字典项的列表?

例如,如果我有以下名称的字典项

  1. Dic_one
  2. Dic_two
  3. Dic_three
  4. Dic_four

现在我需要添加一个前缀,例如UK_,并且我需要复制相应的 Umbraco 字典项,而不会丢失它们以前的值:

  1. UK_Dic_one
  2. UK_Dic_two
  3. UK_Dic_three
  4. UK_Dic_four

我怎样才能添加这个前缀,同时仍然保留字典中的其余值?

4

2 回答 2

3

字典项本身不会被缓存,尽管它们是可以缓存的宏或模板的一部分(在宏本身上,或通过 IIS 缓存)。

现有的字典项存储在表 cmsDictionary 中,您可以使用以下 SQL 获取

SELECT [pk]
      ,[id]
      ,[parent]
      ,[key]
  FROM [dbo].[cmsDictionary]

从那里只需用前缀更新现有的“键”值。

就“UK”前缀而言,这有点奇怪,因为字典键可以分配不同的语言。拥有一个带有荷兰语值的字典项 UK_Dic_One 会有点混乱,最好通过添加不同的语言和使用嵌套字典项来解决这个问题(字典项可以嵌套在版本 6 中)。

如果您可以添加新的字典项,我建议您使用字典仪表板,它允许您导出/导入和编辑带有字典项的 XML 文件,然后可以将其导入。

于 2014-05-14T12:49:49.150 回答
0

我遇到过同样的问题。正如@astuanax 提到的,它们被缓存在模板级别。我可以通过触摸 web.config 并重新启动 apppool 来清除“缓存”。

于 2015-11-23T14:37:00.500 回答