如何使用Tridion Anguilla框架获取本地化数据?

如何使用Tridion Anguilla框架获取本地化数据?,tridion,Tridion,我想在安圭拉框架中使用GetLocalizedItems方法 我不知道如何创建一个新的过滤器和设置条件,也不知道如何使用成功和失败 在GUI中: tridion.Web.UI.ContentManager.WhereUsed.GetListUsedItems(id,filter.conditions, filter.columns,成功,失败); 此命名空间中的方法是否打算由我们的扩展使用?构建筛选器 下面是一个如何构建过滤器的示例 var filter=new Tridion.Content

我想在安圭拉框架中使用GetLocalizedItems方法

我不知道如何创建一个新的过滤器和设置条件,也不知道如何使用成功和失败

在GUI中:

tridion.Web.UI.ContentManager.WhereUsed.GetListUsedItems(id,filter.conditions,
filter.columns,成功,失败);
此命名空间中的方法是否打算由我们的扩展使用?

构建筛选器 下面是一个如何构建过滤器的示例

var filter=new Tridion.ContentManager.ListFilter();
filter.conditions.ItemTypes=16 | 2;//文件夹和组件
filter.conditions.Recursive=true;
filter.conditions.BasedOnSchema=“tcm:1-23-8,tcm:1-32-8”。拆分(“”);
filter.columns=Tridion.Constants.ColumnFilter.DEFAULT;
或者General.js中的这个极其简单的例子:

var templateFilter=new Tridion.ContentManager.ListFilter({
条件:{ItemTypes:[itemType]}
});

调用WCF方法 你问题的第二部分实际上已经被讨论过了,不过我会在这里更具体一些

像这样的WCF/AJAX调用是异步执行的,因为它们可能需要一些时间才能完成。虽然您通常会在右括号后的行上简单地处理调用的结果,但在AJAX调用中不能这样做,因为该行将在函数完成之前执行。相反,您必须传入一个或多个回调函数,这些函数在函数完成后将被调用

当我第一次开始想出这样一种方法时,我通常只传入两个函数,这两个函数会进入浏览器的JavaScript调试器:

Tridion.Web.UI.ContentManager.WhereUsed.GetListUsedItems(
“tcm:1-23”,
过滤条件,
筛选器。列,
新函数(){console.log(参数);调试器;},
新函数(){console.log(参数);调试器;}
);
因此,第一个(匿名)函数在对TCM服务器的(异步)HTTP调用成功时调用,而第二个函数在调用失败时调用。在我上面链接的答案中,我们将它们称为
onSuccess
onFailure
,以使它们的性质更加明确


在本例中,这两个函数都只需编写隐式
参数
参数,该参数始终以JavaScript形式传递。然后,它们会进入浏览器的JavaScript调试器,以便您可以进一步检查参数。

嘿,罗伯特。我不确定它们是否在公共API中(我会检查),但它们肯定经常被使用。检查这个问题和关于这些参数含义的答案:我参考的是安圭拉框架文档,当我试图查看Listfilter属性时,我可以找到条件,但没有其他属性,如“ItemTypes”、“Recursive”。你能帮我在哪里找他们吗?我通常只搜索安圭拉代码。它都是非模糊JavaScript,所以你可以在其中找到GUI所做任何事情的“示例”。你搜索的任何特定文件夹,或者你指的是文档。不,我指的是安圭拉代码。只需在%TRIDION_HOME%目录上搜索(使用搜索工具在文件内部搜索)ListFilter,然后查看它显示了什么。