SharePoint 2010 Wiki模板脚本问题

时间:2014-06-25 11:55:11

标签: sharepoint-2010

我正在寻找一种方法来为我的SharePoint用户提供一种从现有模板创建新Wiki页面的方法。在研究过程中,我发现了一个似乎符合需求的精彩演练(http://www.mssharepointtips.com/tip.asp?id=1072&page=2),但是我无法让它发挥作用。问题似乎在于分配PATHTOWIKI的路径 - 如果我使用“/ Weekly Update Wiki”,脚本将返回错误“没有Web命名'/每周更新Wiki'。”如果我在没有正斜杠的情况下使用“每周更新维基”,我会收到“没有网名为'/ sites / [parentSite] / [childSite] /每周更新维基/每周更新维基”的错误。“

关于我在这里不理解的任何想法?

function myCreateProject() {
    // Configure these for your environment
    // include no slashes in paths
    var PATHTOWIKI = "Weekly Update Wiki";
    var PATHTOPAGES = "Pages";
    // file name only for template page, no extension
    var TEMPLATEFILENAME = "Template";

    var myPathToWiki = encodeURIComponent(PATHTOWIKI);
    var myPathToPages = PATHTOPAGES + "%2f";
    var myTemplateFileName = encodeURIComponent(TEMPLATEFILENAME) + "%2easpx";

    var EnteredProject = document.getElementById("NewProjName");
    var myNewName = EnteredProject.value;

    if(myNewName == "") {
        alert('Please enter a name for the new project page'); 
    } else {
        myNewName = encodeURIComponent(myNewName) + "%2easpx"
        $.ajax({
            url: PATHTOWIKI + "/_vti_bin/_vti_aut/author.dll",
            data: ( "method=move+document%3a14%2e0%2e0%2e4730&service%5fname="
                + myPathToWiki +
                "&oldUrl=" + myPathToPages + myTemplateFileName +
                "&newUrl=" + myPathToPages + myNewName +
                "&url%5flist=%5b%5d&rename%5foption=nochangeall&put%5foption=edit&docopy=true"
            ),
            success: function(data) {
                var rpcmsg1 = getMessage(data, "message=", "<p>");
                $("#myInfo").append("<br />" + rpcmsg1);
                if(rpcmsg1.indexOf("successfully") < 0) {
                    // get error info
                    var rpcmsg2 = getMessage(data, "msg=", "<li>");
                    $("#myInfo").append("<br />" + rpcmsg2 + "<br />");
                } else {
                    $("#myInfo").append("<br /><a href=\"/" + PATHTOWIKI + "/" + PATHTOPAGES + "/" + myNewName + "\">Go to new page</a><br />");
                }
            },
            type: "POST",
            beforeSend: function(XMLHttpRequest) {
                XMLHttpRequest.setRequestHeader("X-Vermeer-Content-Type", 
                    "application/x-www-form-urlencoded");
            }
        });
    }
}

更新:我想出了在我的案例中需要发生什么。由于我无法掌握相对方法,我只是选择了PATHTOWIKI的绝对路径,并略微修改了ajax调用中的追加。

PATHTOWIKI:

var PATHTOWIKI = "https://[domain]/sites/[parentSite]/[childSite]";

追加:

$("#myInfo").append("<br /><a href=\"" + PATHTOWIKI + "/" + PATHTOPAGES + "/" + myNewName + "\">Go to new page</a><br />");

后一行代码的变化是微妙的;因为我在PATHTOWIKI中使用了绝对路径,所以我只删除了锚标记中的前导斜杠,以便<a href=\"/"成为<a href=\""。这使得脚本的可移植性稍差,但由于这是一次性的努力,我会坚持这一点,除非有任何扩展范围。

0 个答案:

没有答案