如何在TridionWebGUI的弹出窗口中获取完整的嵌入字段值集?

如何在TridionWebGUI的弹出窗口中获取完整的嵌入字段值集?,tridion,tridion-2011,Tridion,Tridion 2011,我为Tridion 2011 SP1实现了一个功能区工具栏按钮,它打开一个aspx页面,并根据查找组件填充一个下拉列表。查找组件由不同的嵌入式模式组成。要根据嵌入的模式名称筛选出值,我需要在按钮JavaScript中的按钮单击中获取组件创建页面的嵌入模式字段值 因为在我的组件创建页面中,包含多值嵌入模式字段的信息有助于查找值筛选过程。我不知道该命令需要用于该需求。我知道一个获取完整组件XML的命令,即:$display.getView().getItemFields() 要获取当前RTF字段内容

我为Tridion 2011 SP1实现了一个功能区工具栏按钮,它打开一个aspx页面,并根据查找组件填充一个下拉列表。查找组件由不同的嵌入式模式组成。要根据嵌入的模式名称筛选出值,我需要在按钮JavaScript中的按钮单击中获取组件创建页面的嵌入模式字段值

因为在我的组件创建页面中,包含多值嵌入模式字段的信息有助于查找值筛选过程。我不知道该命令需要用于该需求。我知道一个获取完整组件XML的命令,即:
$display.getView().getItemFields()

要获取当前RTF字段内容,我将使用以下命令:
target.editor.getHTML()
仅获取完整的嵌入式架构字段值, 我需要使用哪个命令?

我的示例组件源:


样本a
样本b
ca 1
cb 1
cc 1
钙2
cb 2
cc 2
ca 1
cb 1
cc 1

我认为没有用于此的公共API。但您可以使用组件数据xml,然后自己解析它:

var item = $display.getItem();
var xml = item.getContent(); // OR $display.getView().getItemFields();
var xmlDoc = $xml.getNewXmlDocument(xml);
var schema = item.getSchema();
if(schema.isLoaded())
{
   var xpath = "/custom:{0}/custom:embeddedFieldName".format(schema.getRootElementName());
   var fields = $xml.selectNodes(xmlDoc, xpath, { custom: schema.getNamespaceUri() });

   // loop fields and get values ...
}

谢谢你的回复。是的,通过这种方式,我们可以按节点的名称解析xml。但在我的例子中,我有可重复的嵌入式模式,所以节点将重复。为此,我需要获得当前节点。有办法解决吗?提前感谢。是的,您将有重复节点。因此,您可以选择它们并循环投掷。“抓住现在的节点”是什么意思?谢谢你的回复。是的,我可以循环通过它。但我多次使用同一组节点。那么,我如何知道要使用哪个节点呢?我添加了示例组件源,请查看。在Boris的回答和我对您的问题“”的回答之间,您真的应该能够找到答案。