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

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

2 ответа

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

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

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

Оттуда это просто вопрос обновления существующего значения "ключа" с префиксом.

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

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

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

Другие вопросы по тегам