Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Extjs 在AEM中获取页面中的所有对话框_Extjs_Aem - Fatal编程技术网

Extjs 在AEM中获取页面中的所有对话框

Extjs 在AEM中获取页面中的所有对话框,extjs,aem,Extjs,Aem,是否有任何直接方法可以获取页面上拖动的所有组件的对话框对象 例如:当我们加载页面时,若页面上有任何像文本、图像这样的组件,我就可以得到对话框。请建议?是的,这是可能的。附加一个侦听器,用于侦听WCM触发的editablesready事件。使用CQ.WCM的#getEditables()方法获取页面上的所有可编辑内容,然后获取每个可编辑内容的对话框(如果存在) 下面是示例代码 CQ.WCM.on('editablesready', function() { var editables =

是否有任何直接方法可以获取页面上拖动的所有组件的对话框对象


例如:当我们加载页面时,若页面上有任何像文本、图像这样的组件,我就可以得到对话框。请建议?

是的,这是可能的。附加一个侦听器,用于侦听WCM触发的
editablesready
事件。使用
CQ.WCM
#getEditables()
方法获取页面上的所有可编辑内容,然后获取每个可编辑内容的对话框(如果存在)

下面是示例代码

CQ.WCM.on('editablesready', function() {
    var editables = CQ.WCM.getEditables();

    for(var path in editables) {
        var editable = editables[path];
        try {
            console.log(editable.getEditDialog());
            //Do stuff
        } catch(e) { }
    }
});

你能详细说明一下你想用这些对话框做什么吗?您拥有的是一个“/libs/wcm/core/content/components.TIMESTAMP.json”XHR请求,其中列出了所有组件及其对话框路径。然后,您必须解析HTML,根据css类获取使用过的组件,尽管这可能有点含糊不清,因为css类只包含解决方案的“resourceType”的最后一部分,例如“textimage”。但是我不能像在现有对话框中一样获取任何对话框中存在的文本字段和路径字段的值,或者是否有其他获取值的方法在页面加载时将不可用,而是在作者使用对话框的
\loadContent()
方法打开任何对话框时请求它们。在幕后,它向节点发出ajax请求,以获取所有属性和值,然后相应地填充对话框。感谢您的响应。这有助于理解这一情景。