在 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 并在那里设置模式。

克里斯