Элементы словаря Umbraco кэшируются?

Во-первых, кэшируются ли элементы словаря 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

Как я мог добавить этот префикс, сохраняя при этом остальные значения в словаре?


person BJ Patel    schedule 14.05.2014    source источник


Ответы (2)


Элементы словаря сами по себе не кэшируются, хотя они являются частью либо макроса, либо шаблона, который может кэшироваться (в самом макросе или с помощью кэширования IIS).

Существующие элементы словаря хранятся в таблице cmsDictionary, которую вы можете получить с помощью следующего SQL

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

Оттуда нужно просто обновить существующее значение «ключа» с помощью префикса.

Что касается префикса «Великобритания», это немного странно, поскольку ключам словаря могут быть назначены разные языки. Наличие словарного элемента UK_Dic_One со значением на голландском было бы немного запутанным, и это лучше решить путем добавления разных языков и использования вложенных элементов словаря (элементы словаря могут быть вложенными в версии 6).

Если вы можете добавить новые элементы словаря, я бы порекомендовал панель инструментов словаря, позволяет вам экспортировать/импортировать и редактировать файл XML с элементами словаря, которые затем можно импортировать впоследствии.

person Astuanax    schedule 14.05.2014

Я была такая же проблема. Как упоминал @astuanax, они кэшируются на уровне шаблона. Мне удалось очистить «кеш», коснувшись web.config и перезапустив пул приложений.

person NinjaOnSafari    schedule 23.11.2015
comment
Что? У меня та же проблема. Я создал инструмент, который позволяет пользователю самостоятельно редактировать элементы словаря с помощью файлов Excel. Я думаю, что перезапуск пула приложений — плохая идея, потому что, если они будут переводить словарь дыр в большом количестве (более или менее 600 элементов), это будет происходить очень медленно, и они будут перезапускать веб-сайт снова и снова (в случае нетехнического пользователя). Должен быть способ очистить кеш на уровне шаблона, написав код. - person H. Pauwelyn; 03.07.2018