gpt4 book ai didi

tridion - 如何使用 Tridion Anguilla 框架获取本地化项目?

转载 作者:行者123 更新时间:2023-12-05 01:26:17 24 4
gpt4 key购买 nike

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

我不知道如何创建新过滤器并设置条件或成功和失败使用什么。

在图形用户界面中:

tridion.Web.UI.ContentManager.WhereUsed.GetListUsedItems(id, filter.conditions, 
filter.columns, success, failure);

此命名空间中的方法是否旨在供我们的扩展使用?

最佳答案

构建过滤器

这是如何构建过滤器的示例



var filter = new Tridion.ContentManager.ListFilter();
filter.conditions.ItemTypes = 16 | 2; // folders and components
filter.conditions.Recursive = true;
filter.conditions.BasedOnSchema = "tcm:1-23-8,tcm:1-32-8".split(",");
filter.columns = Tridion.Constants.ColumnFilter.DEFAULT;

或者来自 General.js 的这个非常简单的案例:

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

调用 WCF 方法

您的问题的第二部分实际上已经在 https://stackoverflow.com/a/9385975/209103 中涵盖了,虽然我会在这里更具体一点。

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

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

Tridion.Web.UI.ContentManager.WhereUsed.GetListUsedItems(
"tcm:1-23",
filter.conditions,
filter.columns,
new function() { console.log(arguments); debugger; },
new function() { console.log(arguments); debugger; }
);

所以第一个(匿名)函数在对 TCM 服务器的(异步)HTTP 调用成功时被调用,而第二个在调用失败时被调用。在我上面链接的答案中,我们称他们为 onSuccessonFailure使它们的性质更加明确。

在这种情况下,两个函数都简单地编写了隐式 arguments始终在 JavaScript 中传递的参数。然后它们会闯入浏览器的 JavaScript 调试器,因此您可以进一步检查参数。

关于tridion - 如何使用 Tridion Anguilla 框架获取本地化项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11157278/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com