【问题标题】:programmatically create smartform ektron以编程方式创建 smartform ektron
【发布时间】:2014-06-18 19:15:40
【问题描述】:

我已经创建了 smartform 并使用 bat 文件生成了相关的类(使用 xsd 生成 c# 类)。然后我将创建的智能表单分配给特定文件夹,并使用 CMS 工作区创建了示例智能表单。

有没有办法从后面的代码创建一个智能表单?我已经尝试如下,但它没有按预期工作:

    ContentType<root> cData = new ContentType<root>();
    cData.SmartForm.EventName = "Conference Event1";
    cData.SmartForm.EventDescription = "Test Description";
    cData.SmartForm.EventDate = DateTime.Now.AddMonths(2).ToString("yyyy-MM-dd");


    ContentTypeManager<root> contentTypeManager = new ContentTypeManager<root>();
    contentTypeManager.Add(cData);

【问题讨论】:

    标签: c# ektron


    【解决方案1】:

    我找到了解决方案。您可以使用 ContentManager 来实现它。

        ContentManager contentManager = new ContentManager(ApiAccessMode.Admin);
        Ektron.Cms.ContentData contentData = new Ektron.Cms.ContentData();
        contentData.Title = "title 011";
        contentData.Html = "<root><EventName>Change1...</EventName>" +
                         "<EventDescription>Description Test</EventDescription>" +
                         "<EventDate>2014-10-30</EventDate>" +
                         "</root>";
        contentData.ContType = 1;
        contentData.Comment = "Automatically generated from a script.";
        contentData.FolderId = 86; //folder id to save you smart data
        contentData.IsPublished = true;
        contentData.IsSearchable = true;
        contentData.LanguageId = 1033;
        contentData.XmlInheritedFrom = 86; //folder id to save you smart data
        Ektron.Cms.XmlConfigData xcd = new Ektron.Cms.XmlConfigData();
        xcd.Id = 7; //SmartForm ID
        contentData.XmlConfiguration = xcd;
        contentManager.Add(contentData);
    

    【讨论】:

    • 我已经有了一个想要以编程方式更新的智能表单。这也能做到吗?
    • 另外,如何在创建新内容之前检查以确保不存在具有相同标题的其他内容?谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-28
    • 2013-07-25
    • 2013-07-22
    • 2018-06-04
    • 2015-03-17
    • 2013-11-24
    • 2016-01-01
    相关资源
    最近更新 更多