Кэшируются ли элементы словаря Umbraco?
Во-первых, кэшируются ли элементы словаря Umbraco? Если они есть, как вы меняете настройки кеша?
Во-вторых, есть ли способ, которым мы можем регенерировать список существующих элементов словаря с новым префиксом?
Например, если у меня есть элементы словаря со следующими именами
Dic_one
Dic_two
Dic_three
Dic_four
Теперь мне нужно добавить префикс, такой как UK_
и мне нужно скопировать соответствующие элементы словаря Umbraco без потери их предыдущих значений:
UK_Dic_one
UK_Dic_two
UK_Dic_three
UK_Dic_four
Как я могу добавить этот префикс, сохраняя при этом остальные значения в словаре?
2 ответа
Элементы словаря сами по себе не кэшируются, хотя они являются частью либо макроса, либо шаблона, который можно кэшировать (в самом макросе или через кэширование IIS).
Существующие элементы словаря хранятся в таблице cmsDictionary, которую можно получить с помощью следующего SQL
SELECT [pk]
,[id]
,[parent]
,[key]
FROM [dbo].[cmsDictionary]
Оттуда это просто вопрос обновления существующего значения "ключа" с префиксом.
Что касается префикса "UK", это немного странно, поскольку для ключей словаря могут быть назначены разные языки. Наличие элемента словаря UK_Dic_One со значением на голландском языке может немного сбить с толку, что будет лучше решить путем добавления разных языков и использования вложенных элементов словаря (элементы словаря могут быть вложены в версии 6).
Если вы можете добавлять новые элементы словаря, я бы порекомендовал инструментальную панель словаря, которая позволяет экспортировать / импортировать и редактировать XML-файл с элементами словаря, которые затем можно импортировать.
Я была такая же проблема. Как отметил @astuanax, они кэшируются на уровне шаблона. Мне удалось очистить "кэш", коснувшись web.config и перезапустив приложение.