如何获得在外表套上的Web GUI的弹出窗口的全套嵌入式领域的价值观呢?(How to get th

2019-09-17 10:45发布

我实现了一个带状工具栏按钮外表套上2011 SP1,这将打开一个aspx页面,并基于查找分量的下拉列表中。 查找组分包括不同的嵌入式模式的。 为了筛选出基于嵌入式架构名称值我需要在按钮的JavaScript点击按钮组件创建页面的嵌入式架构字段的值。

因为在我的组件创建页面由多值嵌入式架构领域有信息,这有助于查找值滤波处理。 我不知道该命令需要被用于要求。 我知道一个命令来获得完整的组件XML,即: $display.getView().getItemFields()

得到了本场RTF内容我打算命令: target.editor.getHTML() 要获得完整的唯一的嵌入式架构字段的值,这命令我需要使用?

我的样本组件源:

<root>
    <a>sample a</a>
    <b>sample b</b>
    <c>
        <ca>ca 1</ca>
        <cb>cb 1</cb>
        <cc>cc 1</cc>
    </c>

    <c>
        <ca>ca 2</ca>
        <cb>cb 2</cb>
        <cc>cc 2</cc>
    </c>

    <c>
        <ca>ca 1</ca>
        <cb>cb 1</cb>
        <cc>cc 1</cc>
    </c>                
</root>

Answer 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 ...
}


文章来源: How to get the complete set of Embedded field values in a popup window in the Tridion Web GUI?