У меня работает Umbraco 16, и я после некоторой работы я смог программно опубликовать богатый текст в списке блоков в документе. Я начал с добавления чистого стартового комплекта, который оказал большую помощь, чтобы заставить CMS работать. Проблема, которая у меня есть, заключается в том, когда запускаю код ниже, и я перехожу к контенту, она отображает черновик в богатом тексту. Если я нажимаю «Создать» на богатом тексте, он исправит проблему. Я должен импортировать более 500 постов, и я не могу зайти в каждый, чтобы исправить их вручную. Любая помощь будет высоко оценена.var parentId = Guid.Parse(“8b97891b-bb88-4c50-827d-a458c3c2b7bb”);
var myValue = “Author bio test text Super Excited About it!”;
var dictionaryUdi = new List();
var contentUdi = Guid.NewGuid().ToString();
var blocklist = new Blocklist();
var values = new List {
new() {
editorAlias = “Umbraco.RichText”,
alias = “content”,
value = myValue } };
dictionaryUdi.Add(new Dictionary { { “contentKey”, contentUdi.ToString() } });
blocklist.layout = new BlockListUdi(dictionaryUdi);
blocklist.settingsData = ;
blocklist.contentData =
[ new ContentData { contentTypeKey = importContent.UmbBlockListContentKey,
key = contentUdi,
values = values } ];
var content = _contentService.Create(“Test Author”, parentId, “Author”);
content.SetValue(“title”, “my test title”);
content.SetValue(“metaDescription”, “my meta description”);
content.SetValue(“contentRows”, JsonConvert.SerializeObject(blocklist));
_contentService.Save(content);
_contentService.Publish(content, [“*”]);
< /code>
Я использую следующую модель: < /p>
public class Blocklist
{
public BlockListUdi layout { get; set; }
public List contentData { get; set; }
public List settingsData { get; set; }
}
public class BlockListUdi
{
[JsonProperty(“Umbraco.BlockList”)]
public List contentUdi { get; set; }
public BlockListUdi(List items)
{
this.contentUdi = items;
< /code>
}
} < /p>
public class ContentData
{
public string contentTypeKey { get; set; }
public string key { get; set; }
public List values { get; set; }
}
public class ValueRow
{
public string editorAlias { get; set; }
public object culture { get; set; }
public object segment { get; set; }
public string alias { get; set; }
public string value { get; set; }
}
< /code>
Спасибо за вашу помощь! < /p>
Я только что получил его работать. Я изменил модель на: < /p>
public class Blocklist
{
public BlockListUdi layout { get; set; }
public List contentData { get; set; }
public List settingsData { get; set; } = [];
public List expose { get; set; } = [];
< /code>
} < /p>
, а затем в контенте BlockList я добавил: < /p>
blocklist.settingsData = [
new Dictionary { { "contentKey", contentUdi.ToString() } }
];
blocklist.expose = [
new Dictionary { { "contentKey", contentUdi.ToString() } }
];
Подробнее здесь: https://stackoverflow.com/questions/797 ... umbraco-16