在DNN 7中将页面重定向到编辑模式

时间:2015-07-29 16:41:15

标签: dotnetnuke dotnetnuke-module dotnetnuke-7

我试图在Ventrian新闻文章模块中解决一个不受欢迎的功能。问题是该模块允许经过身份验证的用户加载选项以编辑文章,但除非页面处于编辑模式,否则不会启用富文本编辑器。我可以修改用户点击以编辑文章的编辑链接,因此我寻找一种方法来设置编辑链接以默认情况下在编辑模式下加载文章编辑页面。有什么建议?提前谢谢。

1 个答案:

答案 0 :(得分:0)

您可能需要重新创建调用以将用户置于编辑模式中 /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发布帖子并在那里设置模式。

克里斯