2009-06-10 8 views
22

Umbraco 4xの実行C#でヘルパーメソッドを作成して、特定のノード(カテゴリ)の子カテゴリを再帰的に呼び出すことができます。Umbraco - プログラムによるIDによるノードの取得

このメソッドは、parentNodeIDをパラメータとして受け取ります。その親ノードのプロパティを取得する必要があります。私は静的メソッドNode.GetCurrent()を使用することができますが、私はNode.GetNodeById(parentNodeID)のようなものを探しています。

このメソッドの存続場所はわかりません。私はumbraco.library.getNodeXMLbyIdメソッドがあることを知っていますが、それは私にノードの名前プロパティを与えますか?

ミーUmbraco N00B :)

答えて

40

あなただけ

var node = new Node(nodeId). 

があまりにもそれを見つけるために私にしばらく時間がかかった行うことができます!

+0

邪悪を追加します。私はそれがそれのような単純なものでなければならないことを知っていました。チアサム! – autonomatt

+12

はい、既存の永続インスタンスを返すためにUmbracoがコンストラクタを使用することはかなり奇妙で、私は珍しいと言います。両方の場合、 – nicodemus13

+2

+1。それは私を助けた。 umbraco.NodeFactoryを使用して を追加する必要もありました。 – Aximili

0

また、これはNodeと同じように動作しますが、データベースの代わりに、XMLキャッシュから直接値を取得します

Document doc = new Document(nodeId) 

行うことができます。ドキュメントのプロパティ値を更新する場合は、これを使用します。

+1

フロントエンドの読書のために、公開されたXMLノードを常に使用するべきであることに注意してください。 –

+0

@Markus非常に真実。 –

+0

Umbraco 7でこれを行うと、「umbraco.cms.businesslogic.web.Document」は廃止されました。「廃止、Umbraco.Core.Models.Contentを使用」という警告が表示されます。 – user1069816

1

使用この

umbraco.NodeFactory.Node headerNode = uQuery.GetNode(NodeId); 

名前空間

using umbraco.NodeFactory; 
関連する問題