大家好,在过去的几个小时里,我正在尝试发布一个文档,我正在设置一些自定义数据类型值,因为我正在保存序列化值:在umbraco数据类型值将在数据库和umbraco.config中可用只有在发布文档之后文件才这样在我的自定义文档类型中我有一个名为add user的按钮,我想在调用此按钮时将其保存在db中我需要发布我正在使用的文档:
//Get the document by it's ID
Document d = new Document(currentDocID);
//Mark it ready for publishing
d.Publish(new umbraco.BusinessLogic.User(0));
//Tell the runtime to update the document cache
umbraco.library.UpdateDocumentCache(d.Id);
//call republishing from the api:
umbraco.library.RefreshContent();
//Server.ScriptTimeout = 100000;
//umbraco.cms.businesslogic.web.Document.RePublishAll();
//umbraco.library.RefreshContent();
但它无法更改Umbraco.config文件和数据库文件而如果通过单击umbraco中的发布数据保存在umbraco db以及配置文件中。我无法弄清楚我是否遗漏了什么......
答案 0 :(得分:1)
代码示例看起来正好以编程方式保存节点,所有缺少的是更新已更改字段的行,如果在文档类型中将其别名为“myField”,则意味着更改为:
var myValue = "[{ serialized value that might need escaping }]";
Document d = new Document(currentDocID);
d.getProperty("myField").Value = myValue;
d.Publish(new umbraco.BusinessLogic.User(0));
umbraco.library.UpdateDocumentCache(d.Id);