Tridion 循环遍历文件夹级别

Tridion 循环遍历文件夹级别,tridion,tridion-2011,Tridion,Tridion 2011,我有文件夹下的组件 需要遵循什么样的代码/代码语法,在包含组件的文件夹中循环,以便从不同的组件中提取值 谁能帮我一下吗 我使用了以下代码 **Folder compFilter= new Filter(); Folder folder=engine.GetObject(webdavurl) as Folder; foreach(Component comp in folder.GetItems(CompFilter))** 它不起作用。请提出一些解决方案。逻辑如下: 创建一个过滤器,指定您

我有文件夹下的组件

需要遵循什么样的代码/代码语法,在包含组件的文件夹中循环,以便从不同的组件中提取值

谁能帮我一下吗

我使用了以下代码

**Folder compFilter= new Filter(); 
Folder folder=engine.GetObject(webdavurl) as Folder; 
foreach(Component comp in folder.GetItems(CompFilter))**

它不起作用。请提出一些解决方案。

逻辑如下:

  • 创建一个过滤器,指定您感兴趣的项目类型是组件
  • 根据需要的信息,从文件夹中获取项目或列表项目。若您只需要标题和ID,那个么GetList会更快(返回XML)。如果需要项的其他属性,则使用返回对象的Get items
  • 如前所述,如果您让我们知道您可以获得哪种API的代码示例。上述逻辑适用于任何API

    [更新]

    请不要使用
    过滤器
    ,该类在Tridion 2011中被弃用,取而代之的是
    StronglyTypedFilter
    “系列”

    Session Session=engine.GetSession();
    字符串folderUrl=“/my/long/webdav”;
    OrganizationalEmitmSfilter筛选器=新的OrganizationalEmitmSfilter(会话)
    {ItemTypes=new[]{ItemType.Component};
    Folder Folder=(Folder)session.GetObject(folderUrl);
    foreach(folder.GetItems(过滤器)中的组件)
    {
    //对组件做些什么
    }
    
    关于如何使用2011 TOM.NET API在文件夹上循环并访问组件的简单示例如下:

    organizationalitemsfilter过滤器=新的organizationalitemsfilter(folder.Session)
    {
    ItemTypes=new[]{ItemType.Component},
    递归=假
    };
    foreach(文件夹中的组件comp.GetItems(过滤器))
    {
    //获取组件的字段集合
    ItemFields=新的ItemFields(comp.Content,comp.Schema);
    }
    

    但是,如果您还没有做到这一点,我强烈建议您查看上的所有构建块(它们包含许多示例代码,帮助您了解如何使用不同的API),或者遵循可用的,不要忘记(需要登录,请参阅了解如何访问的详细信息)

    请指定Tridion的哪个版本,以及代码是否在脚本或模板中,如果在模板中,请指定哪个模板语言。编写C#代码。2011版代码示例的第一行包含一个问题。compFilter对象不是Folder类型的C#示例显示了如何循环结构和页面,简单地转换文件夹和组件“它不工作”是非常模糊的,至少你应该告诉我们结果是什么,你得到的是空集合还是错误消息等@user1518281,在网上做一些初步的研究是在询问之前。网上和官方Tridion文档中都有很多关于这个的例子。感谢Nuno的解释。这对我很有帮助。不客气。做一个好公民接受这个答案——这将帮助其他人回答同样的问题。