如何使用核心服务在SDL Tridion 2011中创建结构组?

如何使用核心服务在SDL Tridion 2011中创建结构组?,tridion,Tridion,我想在Tridion 2011中使用核心服务创建一个结构组 有什么想法吗?这是代码: var structureGroup = ClientAdmin.GetDefaultData(ItemType.StructureGroup, "tcm:0-2-1"); structureGroup.Title = "SG"; structureGroup.Directiry = structureGroup.Title.Replace(" ", ""), structureGroup = (Structu

我想在Tridion 2011中使用核心服务创建一个结构组 有什么想法吗?

这是代码:

var structureGroup = ClientAdmin.GetDefaultData(ItemType.StructureGroup, "tcm:0-2-1");
structureGroup.Title = "SG";
structureGroup.Directiry = structureGroup.Title.Replace(" ", ""),
structureGroup = (StructureGroupData) ClientAdmin.Create(structureGroup, new ReadOptions());

我认为这里不需要任何解释,如果你想了解更多-检查CoreService API文档中的
StructureGroupData
class

上面的代码似乎不是标准的核心服务API。看看这个

CoreServiceClient channel = new CoreServiceClient("basicHttp_2011");
string organizationalItemId = "tcm:6-3-4";
StructureGroupData sg = new StructureGroupData();
sg.Id = "tcm:0-0-0";
sg.Title = "NewSG";
sg.LocationInfo = new LocationInfo() { OrganizationalItem = new LinkToOrganizationalItemData() { IdRef = organizationalItemId } };
sg.Directory = "NewSG";
sg = (StructureGroupData)channel.Save(sg, new ReadOptions());

您可能会注意到,Directory属性不能包含空格。这是因为它是由正则表达式验证的。您可以在位于[TRIDION_HOME]\bin]的文件cm_xml_usr.xsd中更改它。

也可以指定另一个结构组作为父项,而不是发布(“tcm:0-2-1”)。您尝试过吗?你真的需要在这里问一下如何做一些需要3行代码的事情吗?