11

私はumbraco 6.1.6で作業しています。プログラムでコンテンツ ツリーにノードを追加する方法を知りたいですか?

これは私が望む構造です:

コンテンツ

    • 始める
    • カレンダー
    • フロントページのスライダー
    • 写真
    • ニュース

ここで、子ノードは同じドキュメント タイプを持ちます。C# を使用してこれらの子ノードをプログラムで作成するにはどうすればよいですか?

4

2 に答える 2

13

これを試して、

using umbraco.cms.businesslogic.web;

DocumentType dt = DocumentType.GetByAlias("alias");

// The umbraco user that should create the document, 
// 0 is the umbraco system user, and always exists
umbraco.BusinessLogic.User u = new umbraco.BusinessLogic.User(0);

//Replace 1055 with id of parent node
Document doc = Document.MakeNew("new child node name", dt, u, 1055);

//after creating the document, prepare it for publishing 
doc.Publish(u);

//Tell umbraco to publish the document
umbraco.library.UpdateDocumentCache(doc.Id);

また

using Umbraco.Core;
using Umbraco.Core.Models;
using Umbraco.Core.Services;

// Get the Umbraco Content Service
var contentService = Services.ContentService;
var product = contentService.CreateContent(
    "my new presentation", // the name of the product
    1055, // the parent id should be the id of the group node 
    "Presentation", // the alias of the product Document Type
    0);

// We need to update properties (product id, original name and the price)
product.SetValue("title", "My new presentation");

// finally we need to save and publish it (which also saves the product!)
// - that's done via the Content Service
contentService.SaveAndPublish(product);

お役に立てれば

于 2013-10-25T04:16:07.437 に答える
2

そのためには、Umbraco の API を使用する必要があります。これはすべて、Umbraco のドキュメント ( http://our.umbraco.org/documentation/Reference/ ) で説明されています。

簡単に言えば、CreateContent()API のApplicationContext.Current.Services.ContentService.

于 2013-10-24T10:30:50.653 に答える