CQ-Dialog页面属性不能从站点管理员存储,但可以从sidekick中运行

时间:2014-09-15 11:34:59

标签: cq5

以下功能的目的是允许用户保存已编辑的page properties in the CQ-Dialog,即使它们无效,只需点击按钮save anyway

 PageProperties.showMsg = function(dialog, config, errorMessage) {
    CQ.Ext.MessageBox.buttonText.ok = "save anyway";
    CQ.Ext.Msg.show({
        title : "Completeness check failed",
        msg : errorMessage,
        buttons: CQ.Ext.Msg.OKCANCEL,
        fn : function(buttons) {
            if(buttons == "ok") {

                dialog.form.items.each(function(field) {
                    // clear fields with emptyText so emptyText is not submitted
                    if (field.emptyText && field.el && field.el.dom && field.el.dom.value == field.emptyText) {
                        field.setRawValue("");
                    }
                });
                var action = new CQ.form.SlingSubmitAction(dialog.form, config);
                dialog.form.isValid = function() {
                    return true;
                };
                dialog.form.doAction(action);
                dialog[dialog.closeAction]();
                CQ.Util.reload();
            }
        }
    }); 
};

此功能可以从sidekick正常工作。当我点击save anyway时,无论页面属性是否有效,都会存储所有页面的当前值。这不适用于site admin。当我从page properties调用同一页面的site admin并尝试通过点击save anyway来保存包含无效值的页面属性时,这不起作用(旧值存储且没有任何内容)变化)。

我希望有人可以提供帮助。谢谢

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。问题是函数CQ.Util.reload()。它阻止存储值