我正在通过Sitecore Web Service动态创建项目。到目前为止,我可以使用此功能创建项目:
AddFromTemplate
我也试过这个链接:http://blog.hansmelis.be/2012/05/29/sitecore-web-service-pitfalls/
但我发现很难进入这些领域。到目前为止,这是我的代码:
public void CreateItemInSitecore(string getDayGuid, Oracle.DataAccess.Client.OracleDataReader reader)
{
if (getDayGuid != null)
{
var sitecoreService = new EverBankCMS.VisualSitecoreService();
var addItem = sitecoreService.AddFromTemplate(getDayGuid, templateIdRTT, "Testing", database, myCred);
var getChildren = sitecoreService.GetChildren(getDayGuid, database, myCred);
for (int i = 0; i < getChildren.ChildNodes.Count; i++)
{
if (getChildren.ChildNodes[i].InnerText.ToString() == "Testing")
{
var getItem = sitecoreService.GetItemFields(getChildren.ChildNodes[i].Attributes[0].Value, "en", "1", true, database, myCred);
string p = getChildren.ChildNodes[i].Attributes[0].Value;
}
}
}
}
因此,您可以看到我正在创建项,并且我想要访问该项的字段。 我认为 GetItemFields 会给我一些价值,但发现很难得到它。任何线索?
答案 0 :(得分:1)
我的建议是不使用VSS(Visual Sitecore服务),而是专门针对您希望它执行的操作编写自己的服务。
这种方式通常更有效,因为您可以直接在服务中执行您想要的操作,而不是对VSS进行大量调用并在客户端处理您的逻辑。
对我来说,这一直是比使用VSS更好的解决方案。
答案 1 :(得分:0)
我假设您正在寻找字段的外观以及字段ID是什么。
您可以使用ID调用GetXml,它返回项目及其中设置的所有版本和字段,它不会显示您尚未设置的字段。