以下功能的目的是允许用户保存已编辑的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
来保存包含无效值的页面属性时,这不起作用(旧值存储且没有任何内容)变化)。
我希望有人可以提供帮助。谢谢
答案 0 :(得分:0)
我找到了解决方案。问题是函数CQ.Util.reload()
。它阻止存储值