在 DNN 7 中将页面重定向到编辑模式
Redirect Page into Edit Mode in DNN 7
我正在尝试解决 Ventrian 新闻文章模块中的不良功能。问题在于该模块允许经过身份验证的用户加载编辑文章的选项,但除非页面处于编辑模式,否则不会启用富文本编辑器。我可以修改编辑 link 用户点击编辑文章,所以我寻找一种方法来设置编辑 link 以默认在编辑模式下加载文章编辑页面。有什么建议么?提前致谢。
您可能需要重新创建将用户置于编辑模式的调用,这些调用发生在
/resources/shared/scripts/dnn.controlBar.js
单击“编辑”按钮时,该代码看起来会按照以下行执行某些操作
$('a#ControlBar_EditPage').click(function () {
var service = dnn.controlBar.getService();
var serviceUrl = dnn.controlBar.getServiceUrl(service);
var mode = currentUserMode === 'EDIT' ? 'VIEW' : 'EDIT';
$.ajax({
url: serviceUrl + 'ToggleUserMode',
type: 'POST',
data: { UserMode: mode },
beforeSend: service.setModuleHeaders,
success: function () {
if( mode === 'VIEW') dnn.dom.setCookie('StayInEditMode', 'NO', '', dnn.controlBar.getSiteRoot());
window.location.href = window.location.href.split('#')[0];
},
error: function (xhr) {
dnn.controlBar.responseError(xhr);
}
});
return false;
});
怎么做最好?我不知道。可能在拦截查询字符串参数的页面上放置一个模块(类似于 ?editMode=true)。如果模块看到该参数,则触发一个客户端事件,该事件将执行 javascript 示例所做的事情,对 serviceUrl/ToggleUserMode 进行 post 并在那里设置模式。
克里斯
我正在尝试解决 Ventrian 新闻文章模块中的不良功能。问题在于该模块允许经过身份验证的用户加载编辑文章的选项,但除非页面处于编辑模式,否则不会启用富文本编辑器。我可以修改编辑 link 用户点击编辑文章,所以我寻找一种方法来设置编辑 link 以默认在编辑模式下加载文章编辑页面。有什么建议么?提前致谢。
您可能需要重新创建将用户置于编辑模式的调用,这些调用发生在 /resources/shared/scripts/dnn.controlBar.js
单击“编辑”按钮时,该代码看起来会按照以下行执行某些操作
$('a#ControlBar_EditPage').click(function () {
var service = dnn.controlBar.getService();
var serviceUrl = dnn.controlBar.getServiceUrl(service);
var mode = currentUserMode === 'EDIT' ? 'VIEW' : 'EDIT';
$.ajax({
url: serviceUrl + 'ToggleUserMode',
type: 'POST',
data: { UserMode: mode },
beforeSend: service.setModuleHeaders,
success: function () {
if( mode === 'VIEW') dnn.dom.setCookie('StayInEditMode', 'NO', '', dnn.controlBar.getSiteRoot());
window.location.href = window.location.href.split('#')[0];
},
error: function (xhr) {
dnn.controlBar.responseError(xhr);
}
});
return false;
});
怎么做最好?我不知道。可能在拦截查询字符串参数的页面上放置一个模块(类似于 ?editMode=true)。如果模块看到该参数,则触发一个客户端事件,该事件将执行 javascript 示例所做的事情,对 serviceUrl/ToggleUserMode 进行 post 并在那里设置模式。
克里斯