【问题标题】:How to GetLocalizedItems using Tridion Anguilla Framework?如何使用 Tridion Anguilla 框架获取本地化项目?
【发布时间】:2012-06-22 13:37:11
【问题描述】:

我想在 Anguilla 框架中使用 GetLocalizedItems 方法。

我不知道如何创建新过滤器并设置条件或用于成功和失败的内容。

在图形用户界面中:

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

这个命名空间中的方法是否打算供我们的扩展使用?

【问题讨论】:

  • 嘿罗伯特。我不确定它们是否在公共 API 中(我会检查),但它们肯定经常被使用。检查这个问题和这些参数含义的答案:stackoverflow.com/questions/9385892/…

标签: tridion


【解决方案1】:

构建过滤器

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

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 以使它们的性质更加明确。

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

【讨论】:

  • 我指的是 Anguilla Framework 文档,当我尝试查看 Listfilter 属性时,我可以找到条件,但找不到其他属性,例如“ItemTypes”、“Recursive”。你能帮我在哪里找到他们吗
  • 我通常只是搜索安圭拉代码。这都是非混淆的 JavaScript,因此您可以找到 GUI 在其中所做的任何事情的“示例”。
  • 您搜索的任何特定文件夹,或者您的意思是文档。
  • 不,我指的是安圭拉 代码。只需在您的 %TRIDION_HOME% 目录中搜索(使用搜索 inside 文件的搜索工具)ListFilter 并查看它显示的内容。
猜你喜欢
  • 2012-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多