我想在更新到v6解决方案中更新umbraco v4中的一些过时代码。
我有
entitiesFolder = new umbraco.cms.businesslogic.web.Document(folderId);
entitiesFolder.ReorderChildren(
entitiesFolder.Children.OrderBy(fdoc => fdoc.Text),
refreshEntireCache);
现在,建议而不是过时的Document
是使用Umbraco.Core.Models.Content
。怎么样?没有找到(像往常一样的Umbraco)任何关于......的文件(
// new version
var toto = new Umbraco.Core.Models.Content(??)
toto.SoirtChildren(???)
答案 0 :(得分:2)
你是从剃须刀的角度来看这个吗?如果是这样,你可以这样做:
var nodeId = 123;
var myNode = Umbraco.TypedContent(nodeId);
var property = myNode.GetPropertyValue<string>("myStringAlias");
如果你是从某个类或某个东西那里做的,你将不得不使用类似的东西:
var helper = new UmbracoHelper(UmbracoContext.Current);
var nodeId = 123;
var myNode = helper.TypedContent(nodeId);
(这是未经测试但它应该有效..)
答案 1 :(得分:1)
如果您只是查询数据并需要对其进行排序,那么使用umbracoHelper
是一个很好的方法。它只能访问App_Data / umbraco.config中的xml缓存,因此您不会访问数据库。
但是,如果您尝试以编程方式对内容树中的某些节点进行排序,则需要使用ContentService
。每当您真正想要以编程方式修改内容节点时,您将需要使用ContentService
。您还会在媒体上找到类似的MediaService
。
https://our.umbraco.org/Documentation/Reference/Management-v6/Services/ContentService
ApplicationContext.Current.Services.ContentService.Sort(...)