Я создаю около 500 страниц на новом веб-сайте Umbraco v6.1.6 с использованием сценария импорта, который я закодировал. Я использую ContentService api для создания новых страниц. Они созданы и, кажется, сэкономят штраф. Однако, если я запрашиваю значение списка checbox с одной из новых страниц, я получаю пустую строку.Umbraco ContentService не обновляет чекбокс в кеше документа
Я проверил, что свойство пусто в файле umbraco.config, но если я вручную сохраню страницу из бэк-офиса Umbraco. кеш обновится с правильным значением, и я вдруг вернусь к правильному значению.
Есть ли способ принудительно обновить кеш или какую-либо другую форму исправления для этой проблемы?
Это метод CreateContent Я использую:
public static IContent CreateContent(string name, string documentTypeAlias, int parentId, Dictionary properties, bool publish = false, int author = 0)
{
IContent document = null;
ContentService contentService = new ContentService();
document = contentService.CreateContent(
name, // the name of the document
parentId, // the parent id should be the id of the group node
documentTypeAlias, // the alias of the Document Type
author);
foreach (string property in properties.Keys)
{
document.SetValue(property, properties[property]);
}
// If publish is true, then save and publish the document
if (publish)
{
contentService.SaveAndPublish(document);
}
// Else, just save it
else
{
contentService.Save(document);
}
return document;
}
Edit:
После поиска в базе данных, я могу видеть, что cmsContentXml обладает свойством, но данные в нем так же, как umbraco.config. Я посмотрел в cmsPropertyData и данные присутствуют. Поэтому, я думаю, вопрос в том, как получить данные cmsPropertyData в cmsContentXml?
Мой вопрос сопоставим с этим: https://stackoverflow.com/questions/17722347/umbraco-6-1-1-when-i-publish-content-via-the-content-service-tags-type-property однако он не имеет ответов.
Как это значение (fo r ваш список флажков), отформатированный в ваших словарях свойств? Если вы импортируете значение, которое не отображается в кеше XML, но если вы сохраняете его из backoffice, похоже, что ваше свойство checkbox не сохраняется должным образом во время импорта. – sitereactor