首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ektron工作区

Ektron工作区
EN

Stack Overflow用户
提问于 2013-01-24 13:43:35
回答 2查看 752关注 0票数 2

我需要开发一个应用程序来提取Ektron Workarea的Content Tab中的所有内容,并且我必须保留文件夹(分类法、集合、表单等)的树形结构。also.When我还需要在代码中单击内容以获取内容ID。我需要在一个函数中完成所有这些操作。

我尝试了这个要求与内容块小部件的概念在workarea.When中我们拖动小部件和编辑它会弹出一个弹出式窗口,它显示文件夹的工作区在树structure.But当我创建一个aspx页面,放相同的代码和我浏览那个页面我没有得到所有contents.Only的树形结构的主要标签(文件夹,分类和搜索)是visible.Then我拖动用户控件在aspx页面.But它也做了工作。

那么我该如何解决上面的问题呢?

是否可以使用codes?.Then接口将树形结构中的所有内容从工作区的根位置拉取出来,有没有人可以给出解决的接口代码?

请任何人回复!

EN

回答 2

Stack Overflow用户

发布于 2013-03-19 01:03:09

假设您使用的是8.6,请从这里开始:http://reference.ektron.com/developer/framework/content/contentmanager/getlist.aspx

票数 0
EN

Stack Overflow用户

发布于 2013-11-05 11:41:12

更新:

我想我第一次看错了你的问题。请允许我稍微扩展一下我的答案。我最初对web服务的回答是假设您从某种“表示层”呈现内容树--不同的web站点、控制台应用程序或WPF/WinForms应用程序等。

您可以使用以下内容获得递归文件夹结构:

代码语言:javascript
复制
private FolderData GetFolderWithChildren(long folderId)
{
    var folderApi = new Ektron.Cms.API.Folder(); 
    var folderData = folderApi.GetFolder(folderId);

    // This next method is marked as obsolete in v9.0;
    // a newer overload is available in v9.0, but I
    // don't know if it's available in v8.0
    folderData.ChildFolders = folderApi.GetChildFolders(folderId, true);
}

我有点迷惑你到底想要实现什么。如果您希望以图形方式显示整个树结构,您是否尝试过从内容小部件的编辑视图中获取代码和标记,并在非编辑视图中使用它?

我必须说,你的“我需要在一个函数中完成所有这些”的要求让我有点担心。工作区内容树可以很快变得非常大。如果您试图加载所有的文件夹、所有的分类和所有的集合等,那么用户可能需要等待很长时间才能加载页面,您可能会遇到超时问题。

--原文答案--

Ektron v8.0没有3层选项,这太糟糕了,因为这真的会让你的工作变得容易得多。在8.0版中,您可以引用ASMX web服务,包括:

  • /workarea/webservices/content.asmx
  • /workarea/webservices/webserviceapi/user/user.asmx

不仅如此,还可以浏览/workarea/中的文件夹,查看可用的内容。

我已经有一段时间没有使用这些服务了,所以我有点生疏了……

假设您添加了对上面列出的这两个服务的引用,并将它们命名为ContentService和UserService。您要做的第一件事是设置身份验证头。然后,您可以使用与旧的遗留apis大致相同的方式来调用服务方法。

代码语言:javascript
复制
    var contentApi = new ContentService.Content();
    contentApi.AuthenticationHeaderValue = new ContentService.AuthenticationHeader();
    contentApi.AuthenticationHeaderValue.Username = username;
    contentApi.AuthenticationHeaderValue.Password = password;
    contentApi.AuthenticationHeaderValue.Domain = domain;

    var userApi = new UserService.User();
    userApi.AuthenticationHeaderValue = new UserService.AuthenticationHeader();
    userApi.AuthenticationHeaderValue.Username = username;
    userApi.AuthenticationHeaderValue.Password = password;
    userApi.AuthenticationHeaderValue.Domain = domain;

    var ud = userApi.GetUserbyUsername("jimmy456");

    long folderID = 85;
    bool recursive = true;
    ContentData[] folderContent = contentApi.GetChildContent(folderID, recursive, "content_id");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14494740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档