簡體   English   中英

在Umbraco中使用內容而不是文檔(v6)

[英]Use Content instead of Document in Umbraco (v6)

我想在更新到v6解決方案中更新umbraco v4中的一些過時代碼。

我有

entitiesFolder = new umbraco.cms.businesslogic.web.Document(folderId);
entitiesFolder.ReorderChildren(
    entitiesFolder.Children.OrderBy(fdoc => fdoc.Text), 
    refreshEntireCache);

現在,recomendation而不是過時的Document是使用Umbraco.Core.Models.Content 怎么樣? 沒有找到(像往常一樣的Umbraco)有關......的任何文件(

// new version
var toto = new Umbraco.Core.Models.Content(??)
toto.SoirtChildren(???)

你是從剃須刀那里做到這一點嗎? 如果是這樣,你可以做到:

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);

(這是未經測試但它應該工作..)

如果您只是查詢數據並需要對其進行排序,那么使用umbracoHelper是一個很好的方法。 它只訪問App_Data / umbraco.config中的xml緩存,因此您不會訪問數據庫。

但是,如果您嘗試以編程方式對內容樹中的某些節點進行排序,則需要使用ContentService 每當您真正想要以編程方式修改內容節點時,您將需要使用ContentService 您還可以找到類似的MediaService媒體服務。

https://our.umbraco.org/Documentation/Reference/Management-v6/Services/ContentService

ApplicationContext.Current.Services.ContentService.Sort(...)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM